|
(单选题) 1: 若int x;则执行下列程序段后输出是( )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf("%d",x); }
A: 63
B: 62
C: 74
D: 73
(单选题) 2: 若int a,b,c;则为它们输入数据的正确的语句是( )。
A: read(a,b,c);
B: scanf("%d%d%d",a,b,c);
C: scanf("%D%D%D",&a,&b,&c);
D: scanf("%d%d%d",&a,&b,&c);
(单选题) 3: 不能正确为字符数组输入数据的是( )。
A: char s[5];scanf("%s",&s);
B: char s[5];scanf("%s",s);
C: char s[5];scanf("%s",&s[0]);
D: char s[5];gets(s);
(单选题) 4: 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。
A: scanf("%f",&c);
B: scanf("8.4f",&c);
C: scanf("%6.2f",&c);
D: scanf("8f",&c);
(单选题) 5: 说明语句"int (*p)(); "的含义是( )。
A: p是一个指向一维数组的指针变量
B: p是一个指针变量,指向一个整型数据
C: p是一个指向函数的指针,该函数的返回值是一个整型
D: 以上都不对
(单选题) 6: 下面描述中,不正确的是( )。
A: 递归法的关键是必须有一个递归终止的条件。
B: 递归算法要求语言具有反复自我调用子程序的能力。
C: 对于同一个问题,递推算法比递归算法的执行时间要长。
D: 递推算法总可以转换为一个递归算法。
(单选题) 7: 下列说法中正确的是( )。
A: break用在switch语句中,而continue用在循环语句中。
B: break用在循环语句中,而continue用在switch语句中。
C: break能结束循环,而continue只能结束本次循环。
D: continue能结束循环,而break只能结束本次循环。
(单选题) 8: main(argc,argv)中形式参数argv的正确说明形式应当为( )。
A: char *argv[ ]
B: char argv[ ][ ]
C: char argv[ ]
D: char *argv
(单选题) 9: C语言结构类型变量在程序执行期间( )。
A: 所有成员一直驻留在内存中
B: 只有一个成员驻留在内存中
C: 部分成员驻留在内存中
D: 没有成员驻留在内存中
(单选题) 10: 要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A: 0<=m&&m<=9
B: '0'<=m&&m<='9'
C: "0"<=m&&m<="9"
D: 前3个资料都是错误的
(单选题) 11: 已知:int a,*p=&a; 则下列函数调用中错误的是( )
A: scanf("%d",&a);
B: scanf("%d",p);
C: printf("%d",a);
D: printf("%d",p);
(单选题) 12: 以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d",k); }
A: 20
B: 21
C: 22
D: 23
(单选题) 13: 下面个选项组中,均属于C语言关键字的一组是( )。
A: auto,enum,include
B: switch,typedef,continue
C: signed,union,scanf
D: if,struct,type
(单选题) 14: 以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf("%d,"x[i][2-i]);}
A: 1,5,9
B: 1,4,7
C: 3,5,7
D: 3,6,9
(单选题) 15: C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。
A: 地址传递
B: 值传递
C: 由实参传给形参,并由形参传回给实参
D: 由用户指定传递方式
(单选题) 16: 在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。
A: 称为函数的直接递归
B: 称为函数的间接递归
C: 称为函数的递归定义
D: C语言中不允许这样的递归形式
(单选题) 17: 已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A: (*p).data.a
B: (*p).a
C: p->data.a
D: p.data.a
(单选题) 18: 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);}
A: j=5,i=4,k=6;
B: i=5,j=4,k=6;
C: j=6,i=5,k=7
D: j=6,i=6,k=6;
(单选题) 19: 在以下对C语言的描述中,正确的是( )。
A: 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B: C语言函数既可以嵌套定义又可以递归调用
C: 函数必须有返回值,否则不能使用函数
D: C语言程序中有定义关系的所有函数都必须放在同一源文件中
(单选题) 20: 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。
A: (p++)->num
B: p++
C: (*p).num
D: p=&stu.age
(单选题) 21: 以下正确的数组定义语句是( )。
A: int y[1][4]={1,2,3,4,5};
B: float x[3][ ]={{1},{2},{3}};
C: long s[2][3]={{1},{1,2},{1,2,3}};
D: double t[ ][3]={0};
(单选题) 22: 以下程序的输出是( )。main(){char a[2][5]={"6937","8254"};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-'0';printf("s=%d ",s);}
A: 6385
B: 69825
C: 63825
D: 693825
(单选题) 23: 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。
A: "r+"
B: "w+"
C: "wb+"
D: "ab+"
(单选题) 24: if语句的控制条件( )。
A: 只能用关系表达式
B: 只能用关系表达式或逻辑表达式
C: 只能用逻辑表达式
D: 可以是任何表达式
(单选题) 25: 执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z;
A: 10,20,30
B: 20,30,30
C: 20,30,10
D: 20,30,20
(单选题) 26: 下列对字符串的定义中错误的是( )。
A: char str[7]="FORTRAN"
B: char str[ ]=" FORTRAN"
C: char *str="FORTRAN"
D: char str[ ]={'F','O','R','T','R','A','N','
(单选题) 27: 以下( )不是C语言的特点。
A: 语言的表达能力
B: 语言定义严格
C: 数据结构系统化
D: 控制流程结构化
(单选题) 28: 若有char a[80],b[80];则正确的是( )。
A: puts(a,b);
B: printf("%s,%s"a[ ],b[ ]);
C: putchar(a,b);
D: puts(a);puts(b);
(单选题) 29: 下列程序执行的结果是( )。A=1;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);
A: 1,2,0
B: 2,1,0
C: 1,2,1
D: 2,1,1
(单选题) 30: 以下对C语言中联合类型数据的正确叙述是( )。
A: 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B: 一个联合变量中可以同时存放其所有成员
C: 一个联合变量中不能同时存放其所有成员
D: 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
(单选题) 31: 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。
A: p=s+5;
B: s=p+s;
C: s[2]=p[4];
D: *p=s[0];
(单选题) 32: C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A: 编辑和编译
B: 编译和连接
C: 连接和运行
D: 编辑和运行
(单选题) 33: 执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a'));
A: TRUE
B: FLASE
C: 0
D: 1
(单选题) 34: 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?-x:++y; if(x<9) b=x++;c=y;
A: 9,9,9
B: 8,8,10
C: 9,10,9
D: 1,11,10
(单选题) 35: 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A: 4
B: 5
C: 6
D: 7
(单选题) 36: 已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。
A: 1
B: 2
C: 3
D: 4
(单选题) 37: 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2;
A: 0
B: 1/2
C: 0.5
D: 1
(单选题) 38: 下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf("%f ",s);}
A: 135.000000
B: 90.000000
C: 45.000000
D: 60.000000
(单选题) 39: 利用fseek函数可以( )。
A: 改变文件的位置指针
B: 实现文件的顺序读写
C: 实现文件的随机读写
D: 以上资料均正确
(单选题) 40: 已知"int a=4,b=5,c;",则执行表达式"c=a=a>b"后变量a的值为( )。
A: 1
B: 0
C: 4
D: 5
(判断题) 1: 在标准C语言中,在定义带参数的宏时也要定义参的类型。
A: 错误
B: 正确
(判断题) 2: 在标准C语言中,所有函数在调用之前都要进行声明。
A: 错误
B: 正确
(判断题) 3: 在C语言的scanf( )中可用"%m.nf"形式的格式字符指定输入数据的精度。
A: 错误
B: 正确
(判断题) 4: 设有变量定义char s[]="hello",则数组中有6个元素。
A: 错误
B: 正确
(判断题) 5: 若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。
A: 错误
B: 正确
(判断题) 6: "A"是一个字符常串量。
A: 错误
B: 正确
(判断题) 7: 在C语言中,逻辑表达式中只允许出现逻辑型数据。
A: 错误
B: 正确
(判断题) 8: 在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。
A: 错误
B: 正确
(判断题) 9: 结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。
A: 错误
B: 正确
(判断题) 10: 在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。
A: 错误
B: 正确
|
|