C语言程序设计复习题(选择题)新 2
- 格式:doc
- 大小:119.00 KB
- 文档页数:15
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\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语言程序设计复习题⒈单项选择题 (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 语言程序设计复习题一、单项选择题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语言考试期末考试复习题及答案一、选择题(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 语言程序设计复习题一、选择题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.以下关于运算符优先顺序的描述中正确的是( C )。
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B.逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符2.下列选项中合法的变量名是______C___A. #define B. int C. a594_3 D.abs(x)3.以下正确的描述是( A )。
A. break语句的作用是结束整个循环的执行B.在C程序中,注释说明只能位于一条语句的后面C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时, 只能使用goto语句4.以下说法正确的是(C )A.#define 和 printf 都是 C 语句。
B.#define 是C语句,而printf不是。
C.若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”D. #define 和 printf 都不是 C 语句。
5.下面的函数定义正确的是____D__________A) float fun (float x ; float y) {return x*y;}B) float fun (float x,y) {return x*y;}C) float fun (x,y) {int x,y;return x*y;}D) int fun (int x, int y) {re turn x*y;}6.执行下面语句后的输出为( D )int i=-1;if (i<=0) printf(“****\n”)else printf(“%%%%\n”)A). **** B). %%%%C). %%%%c D). 有语法错误,不能正确执行7.以下程序的输出结果是( A )void main( ){int k=17;printf("%d, %o, %x \n ", k, k, k );}A). 17, 21, 11 B). 17, 17, 17C). 17, 0x11, 021 D). 17, 21, 18.以下不正确的叙述是( C )A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。
一、选择题:1、以下能正确定义数组并正确赋初值的语句是( D )。
A、int N=5,b[N][N];B、int a[1][2]={{1},{3}};C、int c[2][]={{1,2},{3,4}};D、int d[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是( D )。
main(){ int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--); }A、7B、 6C、5 D、43、下列四组选项中,不合法的用户标识符的选项是( D )。
A、P_0B、 _AC、temp_123D、b-a4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C )。
x=(i=4,j=16,k=32)A、 4B、 16C、 32D、 525、下列选项中哪个是合法的标识符( B )。
A、 intB、 _a2C、 b#D、 7b6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是( B )。
A、 int a=5,b=5;B、 int a=b=5;C、 int a,b;D、 int a=5,b;a=5;b=5; b=5;7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是( A)。
A、a=a+7;B、a=7+b+c,a++C、int 12.3%4D、a=a+7=a+b8、执行下面的程序时若从键盘上输入6,则输出结果是( C )。
main(){ int x;scanf("%d",&x);if(x-->5) printf("%d\n",x);else printf("%d\n",++x); }A、7B、 6C、5 D、49、设有程序段 int k=10;while(k==0) k=k-1;则下面描述中正确的是( B )。
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
全国计算机⼆级C语⾔各章节复习题第⼀章C语⾔概述略第2章程序的灵魂----算法⼀、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有⼀个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)2.1以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在⼀个函数中定义另⼀个函数C)main()函数必须放在其他函数之前D)所有被调⽤的函数⼀定要在调⽤之前进⾏定义声明正确答案: A2.3 以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语⾔规定,在⼀个源程序中,main函数的位置A)必须在最开始B)必须在系统调⽤的库函数的后⾯C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)⼀个C源程序可由⼀个或多个函数组成B)⼀个C源程序必须包含⼀个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于⼀条语句的后⾯任意位置正确答案: D2.6 下列叙述中正确的是A)C语⾔编译时不检查语法B)C语⾔的⼦程序有过程和函数两种C)C语⾔的函数可以嵌套定义D)C语⾔的函数可以嵌套调⽤正确答案: D2.7 以下叙述正确的是A)在C程序中,每⾏中只能写⼀条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,⽆论是整数还是实数,都能被准确⽆误地表⽰D)在C程序中,%是只能⽤于整数运算的运算符正确答案: D2.8 以下说法错误的是A)⼀个算法应包含有限个步骤B)在计算机上实现的算法是⽤来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执⾏有限次后实现D)算法的⽬的是为了求解正确答案: C2.9 算法是指为解决某个特定问题⽽采取的确定且有限的步骤,下⾯不属于算法的五个特性的是A)有零个输⼊或多个输⼊B)⾼效性有效性C)有穷性D)确定性正确答案: B2.10 下列关于C语⾔的说法不正确的是A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地⽅D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句正确答案: B2.11 以下说法错误的是A)⾼级语⾔都是⽤接近⼈们习惯的⾃然语⾔和数学语⾔作为语⾔的表达形式B)计算机只能处理由0和1的代码构成的⼆进制指令或数据C)C语⾔源程序经过C语⾔编译程序编译之后⽣成⼀个后缀为.EXE(c)的⼆进制⽂件D)每⼀种⾼级语⾔都有它对应的编译程序正确答案: C2.12 C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,break C)for,while,do-while D)if,for,continue 正确答案: A⼆、填空题(请将每⼀个空的正确答案写在答题卡相应序号后。
《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
(B)3.注释内容太多会影响程序的执行效率。
(B)4.变量要“先定义,后使用”。
(A)5.字符常量'a'与字符串常量"a"没有区别。
(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。
(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。
(A)8.表达式5/2+5.0/2+7%6 的值为5.5。
(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。
(B)10.设int a=12; 则表达式a/=a+a的值是0.5。
(B)11.在C语言中,运算符!比&&的优先级高。
(A)12.在C语言中,运算符的优先级最小的是逗号运算符。
(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。
(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。
《C语言程序设计》复习题一、单项选择题1.C语言中用于结构化程序设计的三种基本结构是()(A)顺序结构、选择结构和循环结构(B)if、switch 、break(C)for、while、do-while(D)if 、for、continue2.下列说法正确的是()(A)程序的运行可以从任何函数开始(B)符号常量的值,在程序运行中,可随程序的运行而不断发生变化(C)数组中各元素的值可以由互不相同(D)字符串与字符数组是有区别的3.下列各组中不全是字符常量的是()(A)…A‟, “b” , …2‟ (B) …+‟, …\101‟ , …f‟(C ) ...6‟ , ...\n‟, ...x‟ (D) ...3‟ , ...$‟ , (x41)4.下列各组中不全是合法的变量名的是()(A)day , lotus_1 _2_3 ,x1 (B) Abc, _above , basic(C ) M.John , year , sum (D) YEAR, MONTH, DAY5.下列选项中,不能用作标识符的是()。
(A)_1234 (B) _1_2 (C) int_2_ (D) 2_int_6.以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()(A)a=a+b=b++ (B) w%(int)a+b) (C) (C+W)%(int)a (D) w=a= = b;7.以下选项中属于C语言的数据类型的是()(A)复数型(B)逻辑型(C)双精度型(D)集合型8.下列常量中不能作为C的常量的是()(A)0xa5 (B) 2.5e-2 (C) 3e2 (D) 05829.C语言中,数字029是一个()(A)八进制数(B)十六进制数(C)十进制数(D)非法数10.下列可以正确表示字符型常数的是()(A)“a” (B) …\t‟ (C) “\n” (D) 29711.字符串“\\22a,0\n” 的长度是()(A)8 (B)7 (C)6 (D)512.要判断char型变量m是否是数字字符,下面正确的表达式是()(A)0<=m && m<=9 (B) …0‟<=m && m<=‟9‟(C) “0”<=m && m<= “9” (D) 以上答案均不正确13.下列关于函数说法正确的是()(A)标准库函数在使用时需要声明(B)用户自定义函数在任何情况下都需要声明(C)用户自定义函数如果出现在调用函数之前需要声明(D)用户自定义函数如果出现在调用函数之后需要声明14.在C语言中,函数返回值的数据类型取决于()(A)函数的名字(B)return语句中表达式的数据类型(C)在定义该函数时所指定的数据类型(D)主调函数的数据类型15.设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。
C语言程序设计》期末考试试卷(A卷)一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是()。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、 ABCB、 abcC、 a_bcD、 ab.c3、一个C语言程序是由()。
A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是()A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为()A、 intB、 floatC、 doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、 12345B、 123C、 45D、 3458、若有以下定义int a,b; float x,则正确的赋值语句是()。
A、 a=1,b=2B、 b++;C、 a=b=5D、 b=int(x);9、以下程序的执行结果是()。
#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、 11,10B、 9,10C、 11,9D、 10,910、巳知字母A的ASCII码是65,以下程序的执行结果是 ( ) 。
#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、 A,YB、 65,65C、 65,90D、 65,8911、下列运算符中优先级最高的是 ( ) 。
第二章基本数据类型及运算一、选择题1. 若以下选项中的变量已正确定义,则正确的赋值语句是。
A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3;答案:C2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。
A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0答案:C3. 下列C语言中运算对象必须是整型的运算符是。
A) %= B) / C) = D) *=答案:A4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。
A) 0 B) 0.5 C) 1 D) 2答案:A5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。
A) 把x和y按从大到小排列 B) 把x和y按从小到大排列C) 无确定结果 D) 交换x和y中的值答案:D6. 下列变量定义中合法的是。
A)short_a=1-.le-1; B)double b=1+5e2.5;C)long do=0xfdaL; D)float 2_and=1-e-3;答案:A7. 以下4个选项中,不能被看作是一条语句的是。
A) {;} B) a=0,b=0,c=0;C) if (a>0); D) if (b==0)m=1;n=2;答案:D8. 设x=1,y=-1,下列表达式中解为8的是。
A)x&y B)~x│x C)x^x D)x<<=3答案:D9. 在C语言中不合法的整数是。
A)20 B)0x4001 C)08 D)0x12ed答案: C10. 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2答案:B)11.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7 B)a=7+b+c,a++C)int(12.3%4) D)a=a+7=c+b答案:B)12.以下十六进制数中不合法的是A)oxff B)0Xabc C)0x11 D)0x19答案:A)13. 设int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=i<j)&&(b=j>k)&&(c=i,j,k)后,c值是。
C语言程序设计复习题二一.单项选择题1.按照C语言的规定,能作为用户标识符的是()。
A)int B)5a C)abc_123 D)unsigned2.编译操作的功能是把源程序转换成()。
A)源程序B)目标程序C)可执行程序D)汇编程序3.定义下面语句,编译会出错的是()。
A)char a='x'; B)char a='\t'; C)char a='cc'; D)char a='\101';4.以下选项中正确的定义语句是()。
A)double x; y; B)double x=y=7; C)double x=7, y=7; D)double, x, y;5.若有定义int x, y;并已正确给变量赋值,则以下选项中与表达式(x-y) ? (x++): (y++)中的条件表达式(x-y)等价的是()。
A)(x-y>0) B)(x-y<0) C)(x-y<0 || x-y>0) D)(x-y==0)6.以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。
A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定7.设有定义:int x=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A)x++ B)x+=1 C)++x D)x+18.若有定义语句:int x=10;,则表达式x-=x+x的值为()。
A)-20 B)-10 C)0 D)109.有以下程序void main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是()。
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,110.以下叙述中正确的是()。
A)C语言是一种非结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计不提倡模块化的设计方法11.有以下程序#include <stdio.h>void main(){ char e1,e2;e1=’A’+’8’-‘4’;e2=’A’+’8’-‘5’;printf(“%c,%d\n”,e1,e2);}已知字母A的ASCII码为65,程序运行后的输出结果是()A)E,68 B)D,69 C)E,D D)输出无定值12.有以下程序void main(){ int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b);}程序运行后输出结果是()。
第二部分选择题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的语句是( )。