《C语言程序设计》专题复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分《C语言程序设计》专题复习资料一.选择题
1、C语言中字符型(char)数据在内存中的存储形式是:( )
A)原码 B)补码 C)反码 D)ASCII码
2、C语言中长整型(long)数据在内存中的存储形式是:( )
A)原码 B)补码 C)反码 D)ASCII码
3、C语言的运算符按运算对象的数目可以分为:()
A)单目运算符 B)单目和双目运算符 C)单目、双目和三目运算符
D)单目、双目、三目和四目运算符
4、C语言中,int、char和short三种类型数据所占用的内存是()
A)均为2个字节 B)由用户自己定义
C)由机器的字长决定 D)任意的
5、C语言中的简单数据类型包括()
A)整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、逻辑型、字符型 D) 整型、实型、逻辑型、字符型
6、在C语言中,十进制的47可以等价的写成()
A)2f B)02f C)57 D)057
7、将字符g赋值字符变量c,正确的表达式是()
A)c=’g’ B)c=101
B)C)c=’\147’ D)c=’0147’
8、已知:char a; int b; float c; double d;执行语句c=a+b+c+d;后变量c的类型是()
A)int B)char C)float D)double
9、已知int j,i=1; 执行语句j=-i++后,j 的值是()
A)1 B)2 C)-1 D)-2
10、已知int i, a; i=(a=2*3,a*5),a+6”后,变量i 的值是()
A)6 B)12 C)30 D)36
11、已知 int i=5;执行语句i+=++i;后, i的值()
A)10 B)11 C)12 D)无答案
12、字符串“\\\22a,0\n”的长度是()
A)8 B)7 C)6 D)5
13、已知char a=’\70’;则变量a中包含的字符数为()个。
A)1 B)2 C)3 D)说明非法
14、已知:int x=1, y=-1;则执行语句“printf(“%d\n , (x--&++y)”);”的输出结果是:()
A) 1 B) 0 C) -1 D) 2
15、已知: int a=b=c=1 且均为int 型变量,则执行以下语句: ++a||++b&&++c后变量a的值为(),变量b的值为()
A) 不正确 B) 0 C) 2 D) 1
A) 1 B) 2 C) 不正确 D) 0
16、设a=2 ,b=3, 则执行表达式c=b*=a-1后,变量c的值是()
A) 5 B) 3 C) 2 D) 4
17、要判断char型变量m是否为数字,可以使用以下表达式()
A)0<=m&&m<=9 B) ‘0’<=m&&m<=’9’
C)“0”<=m&&m<=”9” D) 以上答案均错误
18、已知:#define N 3; 的宏定义,执行语句i=N*3后,i的值是()
A) 3 B)6 C) 9 D) 以上答案均错误
19、若有以下宏定义:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出结果是()
int a =Y;
printf(“%d”,Z);
printf(“%d\n”,--a);
A) 7,6 B)12,6 C)12,5 D) 7,5
20、若有以下宏定义:
#define N 2
#define Y(n) ((N+1)*n)
则执行以下”z=2*(N+Y(5))”,语句后,输出结果是()
A)语句有错误 B)z=34 C) z= 70 D)z无定值
21、若int k; 且有下面的程序片段,则输出结果是()
k=3;
if(k<0) printf(“####”);
else printf(“&&&&”);
A) ####B) &&&&
C) ####&&&& D)有语法错误
22、设有说明语句:int a=1 ,b=0 ;则执行以下语句后的输出为()
switch(a)
{ case 1:
switch(b)
{ case 0: printf(“**0**”);break;
case1: printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
A) **0** B) **0****2**
C) **0****1****2** D) 有语法错误
23、与语句“while(!x)”等价的是()
A) while(x==0) B) while(x!=0)
C) while(x!=1) D) while(~x)
24、与语句“while(x)”中的x等价的是()
A) x==0 B) x==1 C) x!=1 D) x!= 0
25、定义int I=1, 则执行语句“while(I++< 5) ; ”后,I的值是()
A)3B)4C)5D)6
26、若有int I ,x; 则:“for(I=x=0;I<9&&x!=5;I++.x++)””控制的循环体执行的次数是()
A)10B)9C)5D)6
27、若int a=5 ;则执行以下语句:
do
{ printf(“%2d”,a--);
}while(!a); 后的打印结果是()
A)5B)不打印任和内容C)4D)陷入死循环
28、若int x=3;且有以下程序片段,则输出结果是()
do
{ printf(“%d”,x-=2);
}while(!(--x));
A)1 B) 3 0 C) 1 -2 D)死循环
29、若int x;且有以下程序片段,则输出结果是()
for(x=3;x<6;x++)
printf((x%2)?”**%d” , ”##%d\n”,x);
A)**3B)##3C)##3D)**3##4
##4 **4 **4##5 **5
**5 ##5
30、C语言程序由函数组成,它的________。.
A)主函数必须在其它函数之前,函数内可以嵌套定义函数
B) 主函数必须在其它函数之后,函数内不可以嵌套定义函数
C) 主函数可以在其它函数之前,函数内不可以嵌套定义函数
D) 主函数必须在其它函数之后,函数内可以嵌套定义函数
31、一个c语言程序的基本组成单位是()
A)主程序B)子程序C)函数D)过程
32、一个c程序的总是从()开始执行
A主过程B) 主函数C)子程序D) 主程序33、c语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()
A)地址传递B)值传递C)由实参传递形参,并形参传回实参D)由用户指定传递方式
34、错误的说明语句是()
A)Char word[ ]={‘T’,’u’,’r’,’b’,’b’,’\0’};
B)Char word[ ]={“Turbo\0”};
C)Char word[ ]= “Turbo\0”;
D)Char word[ ]=’ Turbo\0’;
35、已知:char s[5], c, int b ; 则调用函数scanf的正确语句是()
A)S canf(“%s%c”,s,c); B)Scanf(“%d%c”,&b,&c);
C) Scanf(“%d%c”,b,&c); D) Scanf(“%s%c”,s,&c);
36、要说明一个有10个int 元素的数组,应当选择语句()
A)int a[10]B)int a[2,5] C)int a[ ] D)int *a[10]
37、合法的数组的说明语句是()
A)int a[ ]=”string”B)int a[5]={0,1,2,,4,3,5}
C)char a=”string”D)char a[ ]={0,1,2,3,4,5}
38、调用strlen(“abcd\0ef\0g”)后的返回值是()
A) 4B) 5C) 8D) 9
39、已知: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)15 9B)1 4 7C)3 5 7D)3 6 9
40、已知:char str[ ]=”ab\n\012\\\”; 则执行语句:printf(“%d”,strlen(str));后的结果是()
A)3B)4C)6D)12
41、以下对外部的一维数组a进行正确初始化的是()
A) int a[10]=(0,0,0,0) ; B) int a[10]={ };
C) int a[ ]={ 0 };D) int a[10]={10*1 };
42、以下对外部的二维数组a进行正确初始化的是()
A)int a[2][]={{1,0,1},{5,3,2}};
B)int a[ ][3]={{1,0,1},{5,3,2}};
C)int a[2][4]={{1,0,1},{5,3},{4}};
D)int a[ ][3]={{1,0,1},{ },{5,3}};
43、以下正确的语句是()
A)int a[1][4]={1,2,3,4,5}
B) float x[3][ ]={{1},{3},{2}}
C) long b[2][3]={{1},{1,2},{1,2,3}}
D) double y[ ][3]={0 }
44、下面的程序段的运行结果是()
char a[7]=”abcdef”, b[4]=”ABC”
strcpy(a,b); printf(“%c”,a[5]);
A)空格B) \0C) e D) f
45、下面的程序段的运行结果是()
char a[3],b[ ]=”china”;