C语言程序设计复习题(选择题)新 2
C程序设计复习题(二)

C程序设计复习题(二)C程序设计复习题(二)一、选择1、下面程序的运行结果是______#include#includemain(){ char a[80]=”AB”,b[80]=”LMNP”;int i=0;strcat(a,b);while(a[i++]!=’\0’) b[i]=a[i];puts(b);}A)LB B)ABLMNP C)AB D)LBLMNP2、下面程序的功能是将字符串s中所有的字符c删除。
请选择填空。
#includemain(){ char s[80];int I,j;gets(s);for(i=j=0; s[i]!=’\0’;I++)if(s[i]!=’c’)_________;s[j]=’\0’;puts(s);}A) s[j++]=s[i]; B)s[++j]=s[i]; Cs[j]=s[i];j++; D) s[j]=s[i];3、有下面的程序段:char a[3],b[]=”China”;a=b;printf(“%s”,a);则_______________。
A)运行后将输出China B)运行后将输出ChC)运行后将输出Chi D)编译出错4、下面程序段的运行结果是_______char a[7]=”abcdef”;char b[14]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);A)<空格> B)\0 C)e D)f5、以下正确的说法是______在C语言中:A) 实参和与其对应的形参各占用独立的存储单元;B) 实参和与其对应的形参共占用一个存储单元;C) 只有当实参和与其对应的形参同名时才共同占用存储单元;D) 形参是虚拟的,不占用存储单元。
6、以下程序的运行结果是______fun(int x){ if(x/2>0) fun(x/2-2);printf(“%d”,x);}main(){ fun(20);printf(“\n”);}A)20 8 2 -1 B)2 8 20 C)8 D)-1 2 8 207、以下正确的说法是________如果在一个函数的复合语句中定义了一个变量,则该变量______A) 只在该复合语句中有效B) 在本程序范围内均有效C)在该函数中有效D) 为非法变量8、若使用一维数组名作为函数实参,则以下正确的说法是______A)必须在主调函数中说明此数组的大小B)实参数组类型与形参数组类型可以不匹配C)在被调函数中,不需要考虑形参数组的大小D)实参数组与形参数组名必须一致9、若有定义:int a[4][6];则能正确表示a数组中任一元素a[i][j](此处0≤i<4, 0≤j<6)地址的表达式是________。
C语言程序设计复习题 (2)

C\C++程序设计复习题一、选择题1、一个C语言程序总是从( C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定2、以下能正确定义二维数组的是( C )A.int a[][3];B.int a[][3]=2{2*3};C.int a[][3]={};D.int a[2][3]={{1},{2},{3,4}};3、设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) …x‟&&‟y‟B) x||y+z&&y-z C) x<=y D) !((x<y)&&!z||1)4、执行以下程序段后,i的值是( C )int i=10;switch(i+1){ case 10: i++; break;case 11: ++i;case 12: ++i; break;default : i=i+1;}A) 11 B) 13 C) 12 D) 145、语句while(!e);中的条件!e等价于( B )A) e==0 B)e!=1 C) e!=0 D) 运行时出错6、下列数据中,为字符串常量的是(B )。
(A)…A‟(B)“house”(C)How do you do.(D)‟$abc‟7、用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是( B )A) 随机值B) 0 C) 1 D) F8、在执行char str[10]=“china\0”;strlen(str)的结果是( B )A)5 B) 6 D) 7 D 99、若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer10、有以下程序( D )main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf("%d\n",s);}程序运行后的输出结果是A.10B.13C.21D.程序进入死循环11、以下定义语句中正确的是( C )A.char a='A'b='B';B.float a=b=10.0;C.int a=10,*b=&a;D.float *a,b=&a;12、设有int x=11;则表达式(x++*l/3)的值为( B )。
浙工大C语言复习题与参考答案

.目录一、C语言程序设计复习题⒈单项选择题 (41)⒉填空题 (45)⒊写输出结果题 (46)⒋程序填空题 (53)⒌编程题 (61)三、C语言程序设计复习题答案⒈单项选择题 (62)⒉填空题 (63)⒊写输出结果题 (63)⒋程序填空题 (64)⒌编程题(参考) (65)C程序设计习题集 1C语言程序设计复习题1 单项选择题在每小题的四个备选答案中选出一个正确的,并将正确答案填在题后括号。
1. 用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。
A、生成可执行目标文件B、生成目标文件C、输出运行结果D、自动保存源文件2. 在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明()。
A、源程序有语法错误B、源程序正确无误C、源程序有运行错误D、源程序无编译、运行错误,但仅此无法确定其正确性3. 程序运行输出了错误的结果,可以排除下列哪一个因素()。
A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当4. 下列各个错误中,属于编译错误的是()。
A、数组下标超界B、“==”误写为“!=”C、死循环D、括号不配对5. 若int类型数据字长为4,其最大值为()。
A、231B、231-1C、232-1D、2326. 常数的书写格式决定了常数的类型和值,03322是()。
A、16进制int类型常数B、8进制int类型常数C、10进制int类型常数D、10进制long int类型常数7.“e2”是()。
A、实型常数100B、值为100的整型常数C、非法标识符D、合法标识符8. 要为字符型变量a赋初值,下列语句中哪一个是正确的()。
A、char a='3';B、char a="3";C、char a=%;D、char a=*;9. 要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的()。
A、float x,y,z=3.14;B、float x,y,z=3*3.14;C、float x=3.14,y=3.14,z=3.14;D、float x=y=z=3.14;10. 语句“float pi=3.1415926535;”将()。
C语言复习题(2)答案

{ 4; } A.1--2--3--4 --3--2…… B.1--2--3--4--3--2-4…… C.1--2--4--3--2--4…… D.1--2--4--3---2---1--4…… 21.对下以下系统函数,以下说法错误的是( B)。 A.time()函数的头文件是:time.h B.stdlib.h 头文件中,有 printf(),scanf()函数 C.函数分为两大类,一类是系统函数,一类是用户自定义函数
B.18 C.45 D.9 24. 有以下程序 void main( ) { int i; for (i=0;i<3;i++ ) switch(i) { case 1: printf("%d ", i);
case 2: printf("%d ", i); default: printf("%d ", i); } } 执行后输出结果是( A)。 A.011122 B.012 C.012020 D.120 25..在 C 语言中,假设所有变量均为整型,则下列代码执行后 c 的值 是( D )。
D.! 28. 在 C 语言中,10%2 的值为(C)。 A.5 B.2 C.0 D.-1 29.在 C 语言中,下面( B )转义序列表示换行。 A.\a B.\n C.\r D.\f
30. 在 C 语言中,定义带参数的方法时,参数可以为一个或多个,多 个参数之间使用(B )符号进行分隔。 A.;(分号) B.,(逗号) C.空格符 D.-(连字符) 31.C 语言中,scanf()函数可以使用( C)格式说明符接受单精度浮 点型变量的值。 A.%c B.%d C.%f D.%s
C.必须在程序的最后 D.可以在任意位置 3..表达式 a+=a-=a=9 的值是(D)。 A.9 B.-9 C.18 D.0 4. 设有定义:int a=10;则表达式 a+=a*=a 的值是( C )。 A.10 B.100 C.200
C语言程序设计复习题

D.for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
18.switch(表达式)语句中的“表达式”,允许的类型是_________。
A.float, intB.float, int, char
C. int, charD. char, double
10.设int x=3,y=5;,则执行printf(″%d\n″,x/y);后输出__________。
11.设int a; float b; char c; long d; double e; ,则表达式a/c-b+d-e值的类型是___________。
19.int a[2][3]={{1},{2,3}};,则a[1][0]的值是_________。
A.0B.1
C. 2D. 3
20.设char x[][10]={″Windows″,″dos″,″unix″};,执行pintf(″%c″,x[1][2]);后输出的结果是________。
A.nB.iC.oD.s
7.设int a,b=5;则执行表达式a=b-2==3后a的值是_________________。
8.设int a=10;,则执行语句a+=a-=a+a;后a 的值是_________________。
9.设char s[]={″apple″};,则执行printf(″%d\n″,strlen(s));后输出的值是__________。
C. #include "stdio.h"D. #else
25. 若有下列定义,则对a数组元素地址的正确引用是________。
int a[5],*p=a;
C语言程序设计复习题

C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。
A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。
A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。
A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。
A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。
A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。
A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。
A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。
A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。
A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。
C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言复习题keys

C 语言程序设计复习题一、选择题1.下列选项中可作为C 语言合法常量的是(a )。
A)-80 B)-080C)-8e1.0 D)-80.0e2.下列不能定义的用户标识符是(d )。
A)Main B)_0C)_int D)sizeof3.下列选项中,不能作为合法常量的是(b )。
A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e04.有定义语句:int b; char c[10];,则正确的输入语句是(b )。
A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);5.设有变量定义int a,b,d=25;则语句a= d/10%9, b=a&&(-1);执行之后a、b变量的值为(b) A)a=6,b=1 B)a=2,b=1C)a=6,b=0 D)a=2,b=06.下列程序段的输出结果是(d )。
int i=1,j=2,k=3;if(i+ + = =1&&(+ +j= =3‖k+ + = =3)) printf("%d %d %d\n",i,j,k);A)1 2 3 B)2 3 4C)2 2 3 D)2 3 37.若整型变量a、b、c、d 中的值依次为:1、4、3、2。
则条件表达式a<b? a∶c<d? c∶d 的值是(a )。
A)1 B)2C)3 D)48.设有定义语句:char a[7]="a0\0a0\ 0"; 则sizeof(a)和strlen(a)的值分别为(c )。
A)2 2 B)7 6C)7 2 D)6 29.下列能正确定义一维数组的选项是(b )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二部分选择题1.假设整型变量a为2,使b的值为0的表达式是( )。
A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?0:1提示正确答案为C2. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。
A)2.5 B)2.75 C)3 D)9.5 提示正确答案为A3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。
A)true B)false C)0 D) 1 提示正确答案为D4. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为()。
A)7 B)8 C)6 D)2 提示正确答案为B5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。
A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y6.已知a=12,表达式a+=a-=a*=a的值为()。
A)144 B)-12 C)0 D)24 提示正确答案为C6. 在下面C语言的函数说明语句中,正确的是()。
A) int fun(int x, int y);B) int fun(int x,y);C) int fun(x,y);D) int fun(int x; int y); 提示正确答案为A7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。
A) int B) float C) double D) 不能确定提示正确答案为C8. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是()。
A)5 B)6.2 C)7 D)6 提示正确答案为D9. 表达式k=(12<10)?4:1?2:3的值为()。
A) 1 B) 2 C) 3 D) 4 提示正确答案为B10. 下列哪组运算符的优先级相同且运算次序从左到右()。
A)()[ ] -> . B)++ -- +=C) < & | ^ D)&& || 提示正确答案为A11. 已知:int x=1, y=2, z=0; 则执行:z=x>y?10:20, z的值为()。
A)10 B)20 C)1 D)2 提示正确答案为B12. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( ) 。
A) 2 B) 4 C) 4.0 D) 4.5 提示正确答案为C13. sizeof(''a''+10)的值为()类型。
A)int B) float C) double D)char 提示正确答案为A14. 已知:int x=1, y=2, z; 则执行:z=x>y?++x:++y, z的值为( )。
(A) 1 (B) 2 (C) 3 (D) 4 提示正确答案为C15. C语言中,运算对象必须是整型数的运算符是()。
A)% B)/ C)%和/ D)* 提示正确答案为A16. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )。
A)1 B)2 C)2.0 D)2.5 提示正确答案为C17. 若t为double类型,表达式t=1,t+5,t的值是( ) 。
A)1 B)6.0 C)1.0 D)6 提示正确答案为C18. 在以下一组运算符中,优先级最高的运算符是( )。
A)<= B)= C)% D)&& 提示正确答案为C19. 若有以下定义:| char a;int b;float c;double d;则表达式a*b+d-c值的类型为( )。
A)float B)int C)char D)double 提示正确答案为D20. 假设有int x=11; 则表达式(x++*1/3) 的值是()A) 3 B) 12 C) 11 D) 0 提示正确答案为A21. 以下关于运算符优先顺序的描述中,正确的是()。
A)关系运算符<算术运算符<赋值运算符B)逻辑运算符<关系运算符<算术运算符C)算术运算符<关系运算符<赋值运算符D)赋值运算符<关系运算符<算术运算符提示正确答案为D22. sizeof (double)是一个()。
A)整型表达式B)实型表达式C)不合法的表达式D)函数提示正确答案为A23. 下面对变量赋初值正确的是()A)int a=b=c=1; B)int a=1,b=c=2;C)int a=1,b=1,c=1; D)int a=b=1,c=2; 提示正确答案为C24. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是()。
s=6,u=6; u=s++;u++;printf("%d",u);A)7 B)6 C)5 D)4 提示正确答案为B25. 若有定义:int x=3;double y; 则执行语句y=(double)x;后,变量x的数据类型为()。
A)int B)char C)flaot D)double 提示正确答案为A26. 若有定义double x,y; 则表达式x=1,y=x+3/2的值为()。
A)1 B)2 C)2.0 D)2.5 提示正确答案为C27. 若有定义int x,y,t; 则执行语句: x=y=3,t=++x||++y;后,y的值为()。
A)不定值B)4 C) 3 D)1 提示正确答案为C28. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为()。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 52 提示正确答案为C29. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
A)7 B)8 C)6 D)2 提示正确答案为B30. 设int a=1,则执行完循环While(a++<5);a的值是:A)6 B)5 C)1 D)-264 提示正确答案为A31. 在下列for循环中,其循环次数是()。
for(x=1,y=0;(y!=123)&&(x<4); x++);A)4 B)3 C)1 D)无数多次提示正确答案为B32. 设x和y均为int型变量,则执行下面的循环后,y的值为()。
for(y=1,x=1;y<=50;y++){if (x>=10) break;if (x%2==1) {x+=5;continue;}x-=3;}A)2 B)4 C)6 D)8 提示正确答案为C33. 执行下面程序段的结果是()。
int x=23;do{ printf("%2d",x--);}while (!x);(A)打印出321 (B)打印出23 (C)不打出任何内容(D)陷入死循环提示正确答案为B34. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。
A)从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字串,左补空格 D) 输出错0信息提示正确答案为B35. putchar函数可以向终端输出一个()。
A) 整型变量表达式值B) 实型变量值C) 字符串D) 字符或字符型变量值提示正确答案为D36. 请读程序片段:int i=65536; printf("%d\n",i);上面程序片段的输出结果是( )。
A) 65536 B) 0 C) 有语法错0,无输出结果D) -1提示正确答案为B37. 在下列程序段中:int x, y ;scanf("%3d*2d%d",&x,&y);若输入的数据为:12345678<CR>,则x、y的值分别为()。
A) 123,456 B)123,678 C)12345 678 D)无法得到正确的值提示正确答案为B38. 有如下程序,输入数据12 345<CR>后,y的值是( )。
#include <stdio.h>main(){ int x;float y;scanf("%3d%f",&x,&y); }(A)12.000000(B)345.000000(C)12345.000000(D)0.000000 提示正确答案为B39. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是()。
main(){int a1,a2;char c1,c2;scanf("%d%d",&a1,&a2);scanf("%c%c",&c1,&c2);}(A)1020AB<CR> (B)10 20<CR>AB<CR>(C)10 20 AB<CR> (D)10 20AB<CR> 提示正确答案为D40. 执行下列程序段后,变量a,b,c的值分别是()。
int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;(A)a=9,b=9,c=9 (B)a=9,b=10,c=9(C)a=1,b=11,c=10 (D)a=8,b=8,c=10 提示正确答案为D41. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是( )。
(A) 3 (B) 0 (C) 9 (D) -12 提示正确答案为D42. 在下列选项中,不正确的赋值语句是()。
A)t/=5; B)n1=(n2=(n3=0));C)k=i==j; D)a=b+c=1; 提示正确答案为D43. 设x为int型变量,则执行以下语句后,x的值为( )。
x=10;x+=x-=x-x;A)10 B)20 C)0 D)-20 提示正确答案为B44. 若有int a=1,b=2,c=3,d=4;则表达式:a++<b?a++:c<d?a++:d 的值是()。
A)4 B)3 C)2 D)1 提示正确答案为C45. 以下选项中( )是正确的C语言赋值语句。
A)x=3,y=5 B)a=b=6 C)i--;D)y=int(x);提示正确答案为C46. 设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1,42,y=5.2;则以下符合C语言语法的表达式是( )。
A)a=a-=(b=4)*(a=3) B)x%(--3)C)a=a*3=2 D)y=float(i) 提示正确答案为A47. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的语句是( )。