C语言考试样题.doc
(完整版)C语言试题库(完整版)
C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、 C程序的每行中只能写一条语句。
C、 C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。
C语言样题
B) 只能在循环体内和 switch 语句体内使用 break 语句 C) 在循环体内使用 break 语句或 continue 语句的作用相同 D) 从多层循环嵌套中退出时 , 只能使用 goto 语句 二、填空题(每空 1 分 , 共 15 分) 1. 在一个 C 语言源程序中,注释部分两侧的分界符分别为 ________ 和 ________ 。 2. 在 C 语言源程序中,一个变量代表 ____________________ 。 3. 在 Turbo C 环 境 中 用 RUN 命 令 运 行 一 个 C 程 序 时 , 所 运 行 程 序 的 后 缀 是 ________ 。 4. C 语言的源程序必须通过 ________ 和 ________ 后,才能被计算机执行。 5. 若有定义语句: int s=6 ;则表达式 s%2+(s+1)%2 的值为 ________ 。 6. C 语言所提供的基本数据类型包括:单精度型、双精度型、 ________ 、 ________ 和枚举型。 7. 设 a 、 b 、 c 均为 int 型变量且 a=5 , b=2 , c=1 ,则表达式 a-b<c || b==c 的 值是 __________ 。 8 . 设二进制数 x 的值是 11001101 ,若想通过 x&y 运算使 x 的低 4 位不变,高 4 位清零,则 y 的二进制是 __________ 。 9 . 有如下定义: struct data { int num; Char name[10]; }data1; 将结构体变量 data1 的成员 num 赋值为 15 的语句为: __________ 。 10 . 一个变量的指针就是该变量的 __________ 。 11 .若 for 循环用以下形式表示: for( 表达式 1 ;表达式 2 ;表达式 3) 循环体语句 则执行语句 for(i=0 ; i<3 ; i++) printf( " * " ) ;时 , 上述循环形式中的表 达式 1 执行 ________ 次 , 表达式 3 执行 ________ 次。 三、判断题(先判断,后改正。每题 1 分,共 10 分) 1 .输入输出的功能并不是 C 语言本身提供的,而是 C 的库函数所提供的。 ( ) 2 .若 a 和 b 是同类型变量,在执行了语句 a=b 后, b 中的值将放入 a 中, b 中 的值将丢失。 ( ) 3 .一个函数可以返回一个函数值,函数的类型就是指函数值的类型。 ( ) 4 .若定义 int m[]={1,2,3,4,5}; 则 m[1] 的值为 2 。 ( ) 5 .函数不能嵌套定义。 ( ) 6 .如果有多个 return 语句,每个 return 后面的表达式的类型应相同。 ( ) 7 .函数可以参加四则运算。 ( ) 8 .如果在一个函数中改变了外部变量的值,那么其后引用该变量时,得到的是已被改 变的值。 ( ) 9 .指针也是有类型的,其类型就是它所指向的实体的类型。 ( ) 10 .字符串存放在字符数组中,所以字符数组与字符串必须等长。 ( ) 四、读程序,填写程序运行结果( 14 分) 1 .下面程序的运行结果是 ________ 。 ( 4 分) main() { int m,n; for(m=1;m<4;m++)
C语言程序设计期末考试样题.docx
一、根据流程图编程题(1)在VC++集成环境下建立本人文件夹下的文件??_1. c (其中??代表本人后两位学号)。
(2)根据下面的流程图编写程序。
(3)保存程序后,关闭工作区。
#include<stdio.h> main(){int i,a,b,sum;a=l;b=50;sum=O;for(i=a;i<=b;i++)(if(i%4==0) (sum=sum+i;printf("sum=%d\n",sum);二、根据提示编程题根据下面提示信息编写程序,计算下面分段函数的值。
x - 2(% < 0)r2t= T ME)4(x = 1)5x (x > 1)(1)在VC++集成环境下建立本人文件夹下的文件??_2.c (其中??代表本人后两位学号)。
(2)将下面代码框架复制到VC++编程环境后,根据注释补充代码。
(3)保存程序后,关闭工作区。
^include <stdio. h>main (){int xll ; /*定义整型变量x?? ,??代表自己的2位学号*/double til; /*定义实型变量t?? ,??代表自己的2位学号*/printf("Input data: "); /* 显示”Input data:" */scanf("%d",&xll); /* 输入x??的值 *//*下面要求用if语句计算相应t??的值(应为多行)*/if(xll<0)tll=xll-2;if(xll>=0 && xll<l)tll=xll*xll/3.0;if(xll==l)tll=4;if(xll>l)tll=5*xll;printf("%d,%l^n",xll,tll) ; /* 输出x??和t??的值 */三、独立编程题编写程序,使用随机函数“randO ”,生成10个[1, 100]之间的整数并存于数组中,首先输出数组各元素值。
C语言测试题及答案
C语言测试题及答案一、单选题(每题3分)1、下列语言不属于计算机语言的是()A、机器语言B 、汇编语言C 、高级语言D、低级语言(正确答案)2、下列不属于C 语言的特点的是()A、是一种结构化语言B、表现能力和处理能力较差(正确答案)C 、效率高,移植性强D、可直接访问内存物理地址3、C 语言程序能够在不同的操作系统下运行,这说明其具有良好的()A 、兼容性B、操作性C 、适应性D、移植性(正确答案)4、下列关于C语言的说法,正确的是()A、C语言比其他语言高级B 、C语言源程序可以直接被计算机执行C 、C语言出现最晚,各方面优于其他语言D 、C语言是用接近人们习惯的自然语言和数学语言作为语言的表达形式(正确答案)5、以下不是C 语言中的关键字的是()A 、elseB 、shortC、true(正确答案)D 、void6、C 程序经过编译、链接后生成的可执行文件的扩展名是()A 、.cB 、.objC、.exe(正确答案)D 、.syS7、把高级语言编写的源程序转换为目标程序,需要使用()A、驱动程序B、编辑程序C、诊断程序D、编译程序(正确答案)8、C 语言程序的执行,总是起始于()A、程序中的第一条可执行语句B、程序中的第一个函数C、main()函数(正确答案)D、包含文件中的第一个函数9、以下叙述中,正确的是()A、语句是构成(正确答案)C程序的基本单位B 、一个函数可以没有参数C 、main() 函数必须放在其他函数之前D、所有被调用的函数一定要在调用之前进行定义10、构成C语言程序的基本单位是()A 、语句B、函数(正确答案)C 、过程D 、复合语句11、计算机能直接识别的语言是()A 、机器语言(正确答案)B 、汇编语言C 、C语言D 、高级语言12、下列说法错误的是()A 、C程序中的每条语句都用分号作为结束符B 、C程序中的每条命令都用分号作为结束符(正确答案)C、C 程序中的变量遵循先定义,后使用的原则D 、C程序一般以小写字母书写,并且区分大小写13、下面有关C程序的说法中,正确的是()A 、C程序由符号构成B、C 程序由标识符构成C 、C程序由函数构成(正确答案)D 、C程序由C语句构成14、C语言中所有的关键字必须()A、小写(正确答案)B、大写C 、大小写均可D 、C语言中没有保留字15、在结构化程序中应尽量避免使用的语句是()A 、whileB 、do……whileC 、forD 、goto(正确答案)16、下列是C 语言的关键字是()A 、bacB 、IntC、char(正确答案)D 、Printf17、在每一个C程序中都必须包含的函数是()A 、nameB、main(正确答案)C 、MainD 、function18、以下叙述中,正确的是()A、花括号{}只能作为函数体的定界符B 、分号是C语句之间的分隔符,不是语句的一部分C 、C程序中注释部分可以出现在程序中任意合适的地方(正确答案)D、构成C程序的基本单位是函数,所有函数的命名都可以由用户命名19、以下选项中不属于C语言的数据类型的是()A 、signed short intB 、unsigned long intC 、unsigned intD 、long short(正确答案)20、下列能实现换行功能的格式符为()A 、”\t’B、’\n’(正确答案)C 、’\a'D 、’\k’21、下列不正确的转义字符是()A 、’\W”B、\”C 、’\0'D、’074’(正确答案)22、下列正确的字符串常量是()A、”W”(正确答案)B 、'abc’C 、Olympic GamesD 、’\n'23、在C 语言中,数字029是一个()A、八进制数B、十六进制数C、十进制数D、非法数(正确答案)24、下列的变量说明中,正确的是()A 、int i=j=1;B 、double float f,d;C、double a; (正确答案)D 、char:I;25、下列是合法的用户定义标识符是()A、908B 、putcharC、P_S (正确答案)D 、double26、以下C 语言标识符合法的是()A 、-5XB、name_1 (正确答案)C 、bow-1D 、#2327、假如给变量a和b都定义为浮点型,则下列正确的定义是()A 、int a;b;B 、float a,int b;C 、float a,b; (正确答案)D 、float a;b;28、已知int a=2;,则表达式(a+’E'-’A’)*3的值是 ( )A 、8B 、12C、18(正确答案)D 、2029、下列程序中不正确的语句是()A 、main(B 、int a,b,c:C、a=22:b=33 (正确答案)D 、{c=a+c;}30、下列各项中非法的赋值语句是()A、j++:B 、++(i+3 ); (正确答案)C 、x=j>0;D、n=(i=2,i++):二、判断题(每题1分)1、计算机可以直接识别C 语言程序语句。
C语言考试样题
一、单项选择题(共12个每个两分)1.( )是C语言程序的基本单位A. 函数B.过程C.子程序D.子例程2. 下列关于c语言用户标识符的叙述中正确的是______A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头3.选出下列标识符中不是合法的标识符的是_______。
A.2aB. _hiC. min1D.ho_in4.下列叙述正确的是________A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对使用D.在switch语句中,不一定使用break语句5. 下列一组初始化语句中,正确的是( )A) int a[8]={ }; B) int a[9]={0,7,0,4,8}; C) int a[5]={9,5,7,4,0,2}; D) int a[7]=7*66.关于C语言的说法错误的是()A. C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写C.C程序的三种基本结构是顺序、选择、循环D. C语言从main函数开始执行7.以下下关于C语言中数组的描述正确的是______A.数组的大小是固定的,但可以有不同的类型的数组元素。
B.数组的大小是可变的,但所有数组元素的类型必须相同。
C.数组的大小是固定的,所有数组元素的类型必须相同。
D.数组的大小是可变的,可以有不同的类型的数组元素。
8、以下由while构成的循环执行次数是_____int i=1;While(i==1) i++:A无限次 B.语法错 C.一次也不执行 D.执行1次9.对字符串的操作,下列说明中正确的是()A、可以用赋值表达式对字符数组赋值,如char str[20];str=”china”;B、若有字符数组a和b,且a>b,则strcmp(a,b)为负数C、可用strcpy函数进行字符串的复制来完成字符数组的赋值D、字符串”aaa”在内存中占3个字节10.在C语言中,数组名代表的是( )(A) 数组中全部元素的个数(B) 数组中第一个元素的值(C) 数组中全部元素的值(D) 数组的首地址11.能正确表示a和b同时为正或同时为负的逻辑表达式是()A、(a>=0||b>=0)&&(a<0||b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>012. 以下那个函数用俩标识求某个数的平方根()A、sqrt()B、fabs()C、pow()D、exp()二、填空题:(每题2分,每题全填对得分,共24分)1.变量的命名规则:变量名只能由____________组成。
c语言基础练习习题及答案.doc
c语言基础练习习题及答案.docC语言基础练习习题及答案-、单项选择题1.下列标识符屮,合法的用户标识符是_(B)_°A) B#123 B) _1234C) void D) xy*2.C语言屮,要求参加运算的数必须是報数的运算符是_(C) _0A) / B)!C) % D)==3.下面运算符屮,具有右结合性的是_(A)_。
A) = B)+ C)/ D)%4._________________________________________ 字符串"a\x44\\abcd\101b ”的长度是_(A) _______________________________________________ 。
A) 9 B)10C) 16 D)18解释:(a\x44 \\ a b c d\101 b)5.C语言允许一条语句写在两行上,下列语句不正确的是_(D)A) int a, B)int ab;,b;C) int D)int a,ba,b; ;6.C语言一行写不下时,可以一(C) _0A)用逗号换行B)用分号换行C)在任意一空格处换行D)用冋车符换行7.下所列的C语言常量屮,错误的是_(B)_oA) OXff B) 1.2eO.5(E后面指数必须为桀数) C) 2L D) \72‘8.下列选项中,合法的C语言关键字是_ (D)—A) VAR(far)C) integer (interrupt) B) cher(char) D) default9.以下错误的转义符是__(D)_oA)7' B)fC) 4\f D) t\80,10.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是—(B)—。
A)0 至255 B) 0 至65535C) —256 至255 D) -32768 至3276711?以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式了的C语言表达式是(A) oA) x/y*z B) x*(l/(y*z))C) x/y*l/z D) x/y/z12. w=l,x=2,y=3,z=4,a=5,b=6;则执行语句(a二w>x)&&(b=y>z);后,a,b 的值为______A) 1 和1 B) 0 和6C) 5 和0 D) 0 和013.__________________________________________________________________ 设x、y、t均为int型变量,则执彳亍语句:x=y=3;t=卄xll++y;后,y的值为_(C) ____________ 。
期末考卷C语言样题1
D) C 语言程序中的 main()函数必须放在程序的开始部分
(5)C 语言中最简单的数据类型包括:( )
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型
(6)结构化程序设计所规定的三种基本控制结构是:( )
A)输入、处理、输出 B)树形、网形、环形
C) (x>=y>=z)
D) (x>=y)&(Y>=z)
(15) 若有定义:int a=7,float x=2.5,y=4.7;,则表达式 x+a%3*(int)(x+y)%2/4 的值
为:( )
A) 3.5 B) 2.75 C) 2.5 D)0
(16)若变量 a 是 int 类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是:( )
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
(35) 如 a=-2, b=3 表达式 (a<b) ? a : b 的结果为:( )
A、1
B、-2
C、3
D、-6
(36) 以下程序中的 for 循环执行的次数是:( )
#define N 2
C)顺序、选择、循环 D)主程序、子程序、函数
(7)下列关于数组的说明错误的是:( )
A) float f[][3]={1,2,6,4,8,9}
B)char d[10]=”acvdf\n”
C) int b[10]={5,7,24}
(word完整版)C语言考试题库及答案,推荐文档
C 语言理论上机考试选择题部分(共200 题)1、下面程序的输出是___D ______#include<stdio.h>void main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D _______A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C 语言字符常量是_______ A ____ .A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9 的值是________ D ___ .A) true B) 非零值C) 0 D) 15 、C 语言提供的合法的数据类型关键字是_ B ___ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码7、C 语言程序的基本单位是_____ C _____ .A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是___ D ___A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是_ B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010 、下面程序的输出是____ B _____ .{int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411 、下面程序的输出的是 ____ C ___ .#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ .#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if 后一对圆括号中表示a 不等于0 的关系,则能正确表示这一关系的表达式为_______ D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____ D _____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____ D ____ .A) 1 B) 0 C) 4 D) 316、为表示关系x > y > z,应使用C语言表达式___A___.17、 C 语言中非空的基本数据类型包括_____ B ___ .A) 整型,实型,逻辑型B) 整型,实型,字符型#include<stdio.h> void main() A) (x>=y)&&(y>=z)C) (x>=y>=z)B) (x>=y)AND(y>=z)D) (x>=y) & (y>=z)C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是_______________________________ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h> void main() { charch; scanf("%3c",&ch); printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ______________________ .A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h> void main() {int i,j;i=010; j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是_____ D __ .A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h> void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_______ C ____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是 ____ A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入是 ___ D .1 2 34567<回车>,则程序的运行结果A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是_____ D ___ .#include<stdio.h> void main(){int a=-1, b=4, k; k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是_____ A ___ .#include<stdio.h> void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是_____ A ___ .int a;int b=65536; a=b; printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____ B ____ .A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________ B ____ .A) 2.4 B) 2.5 C) 2.75 D) 030 、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是 ___ C ___ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是______ D ___ .#include<stdio.h> void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332 、设有以下语句:int x=10;x+=3+x%(3), 则x 的值是. _____ A _____A) 14 B) 15 C) 11 D) 1233、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是___ D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3 的值是____ D ___ .A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值__________ A ____ . A) 0 B) 1 C) 12 D) 6D) C 语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_____ C __ .A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是___D ____ .A) float B) char C) int D) double40、一个C 语言的执行是从_____ A _____ .A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的 C 语言表达式是___ A ___ .A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_______ C ___ .#include <stdio.h>void main( ) { int a=5,b=60,c;if (a<b) {c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 12 43、如果 c 为字符型变量,判断 c 是否为空格不能使用___ A ___ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)36、若有定义int x=3,y=2 和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b 的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C 语言中,以下叙述不正确的是_____ A ___ .A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C 程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是____ D___ .#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");else printf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45 、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是C___.C) if(c=='\40') D) if(c==' ')#include <stdio.h>void main( ){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",c);elseif (b>c) printf("%d\n",b);else printf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_____ A ____ .#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9') k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10; printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>" ,则输出9士里阜 D结果是___B ____ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是_____ A ___ .#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是____ C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!51、执行下列程序段后的输出结果是 ________ A __ .int x=1,y=1,z=1; x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1D) 452、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 __B___. A) Z B) aC) zD) A53、下面程序的输出结果是 _____ C #include <stdio.h> void main( ){ int x=8,y=-7,z=9; if (x<y)if (y<0) z=0; else z-=1; printf("%d\n",z);}A) 8 B) 154、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的 输出结果是 _____________ B ___. #include <stdio.h> void main( ){ int a ; scanf("%d",&a); if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入 "3 ,4 <CR>" ,则 程序的输出结果是 ____ B___. #include <stdio.h> void main( ){ int a,b,s; scanf("%d,%d",&a,&b); s=a; if (s<b) s=b; s=s*s; printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 20#include <stdio.h> void main( ) { int x=0,y=1,z=0; if (x=z=y)x=3; printf("%d,%d\n",x,z);}A) 3,0B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系: 等级:A 分数:85〜100 等级:B 分数:60〜84 等级: C分数: 60 以下对于等级 grade 输出相应的分数区间,能够完成该功 能的程序段是 ________ D ___ . A) switch (grade){case 'A':printf("85--100\n"); case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} B) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} C) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} D) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break; default:printf(" 等级错误 !\n");}58、能够完成如下函数计算的程序段是__B厂-1x<0 y=T 0x=0 L1x>056、下列程序的执行结果是 ______ DA) y=1;B) if (x>=0)Bye_Bye!C) 9D) 0if (a) d=d-10; else if(!b) if (!c) x=15; else x=25; printf("d=%d\n",d);}A) d=20B) d=10C) d=15D) 2562、有如下程序 : #include <stdio.h> void main( ){ int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c++; printf("%d\n",c);}该程序的输出结果是 ___C _____ . A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是 ______ B __ . #include <stdio.h> void main( ){ int x,y=1,z; if ((z=y)<0) x=4; else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序 #include <stdio.h> void main( ){ int x=1,a=0,b=0; switch(x) {case 0: b++; case 1:a++; case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是 _______ A ___ . A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是 _____ C ___ . #include <stdio.h>if(x!=0)if(x>0) y=1; else y=0; C) y=0;if (x>=0)if (x>0) y=1; else y=-1;if(x>0) y=1; else y=0; elsey=-1;D) y=-1;if (x>0) y=1; else y=0;59、有如下程序 #include <stdio.h> void main( ) { float x=5.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);}该程序的输出结果是 C ____ .A) 0.000000 B) 0.50000 C) 0.200000D) 1.00000060、以下程序的执行结果是 ___B _____ . #include <stdio.h> void main( ) { int x=1,y=0; switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) firstB) first second third C) firstD) secondthird61、以下程序的执行结果是 _____ A #include <stdio.h> void main( ){ int a,b,c,d,x; a=c=0; b=1; d=20;void main( ){ int a=-1,b=1,k; if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m 均为int 型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m 的值是____________ D __________ . A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D ______ .main( ) { int a=100;if (a>100) printf("%d\n",a>100); elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入是. B#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);} A) 11 B) 10 C)969、以下程序输出结果是______ D ____#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);70、若执行下面的程序从键盘上输入5,则输出结果是#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是_____ A___ .int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x); A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h> void main( ) { int a,b,c=246;a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b);}输出结果是___ A ____ .A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___C ___ .#include "stdio.h"void main(){ int num,i,j,k,place; scanf("%d",&num); if (num>99)place=3;else if(num>9)place=2;elseplace=1; i=num/100; j=(num-i*100)/10;k=(num-i*100-j*10); switch (place) { case 3:printf("%d%d%d\n",k,j,i); break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D _____ .#include <stdio.h> void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x 的是 __B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a 输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 109,则输出结果D) 8A) 7 B) 6 C) 5 D) 477、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是______ C___ .#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与___C___ 组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为___ C ____ .x=y=z=1; t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段 C ________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B _____ .int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____ C ___ .x=3; do { y=x--;if (!y) {printf("*");continue;} printf("#");} while(x=2);A) ## B) ##* C)死循环D)输出错误信息84、下面程序的运行结果是 B . #include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0); printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____ B _____ .int n=0;(n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求n 的功能。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言二级考试试题与答案doc
c语言二级考试试题与答案doc一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B2. 若有定义int a=5;,则表达式a++的值是多少?A. 4B. 5C. 6D. 0答案:B3. C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. &答案:A4. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()答案:C5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. 若有定义float x=3.14;,则表达式sizeof(x)的值是多少?A. 2B. 4C. 8D. 10答案:B7. C语言中,哪个关键字用于声明一个指针变量?A. *B. &C. %D. #答案:A8. 下列哪个选项是正确的C语言数组声明?A. int a[];B. int b[5];C. int c[5]={0};D. All of the above答案:D9. 在C语言中,哪个关键字用于声明一个无限循环?A. forB. whileC. do...whileD. switch答案:B10. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并初始化为10,可以使用语句:________。
答案:int a = 10;2. 若有定义int a=5;,则执行语句a=a+1;后,变量a的值是________。
答案:63. 在C语言中,使用________运算符可以实现逻辑“或”操作。
C语言笔试题带答案8.doc
C语言笔试题带答案8.doc2021-09-2506:30:01阅读(82)1525人收藏本页标签:c语言面试题一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)以下各题a)、b)、c)、d)四个选项中,只有一个选项就是恰当的,恳请将恰当的挑选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)数据的存储结构就是指________。
a)存储在外存中的数据b)数据所占的存储空间量c)数据在计算机中的顺序存储方式d)数据的逻辑结构在计算机中的则表示答案:d评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。
(2)以下关于栈的叙述中错误的就是________。
a)栈是先进后出的线性表b)栈就可以顺序存储c)栈具有记忆作用d)对栈的填入与删掉操作方式中,不须要发生改变栈底指针答案:b评析:栈是一种特殊的线性表,又称先进后出表(filo―firstinlastout)。
(3)对于长度为n的线性表,在最坏情况下,以下各排序法所对应的比较次数中恰当的就是________。
a)冒泡排序为n2b)冒泡排序为nc)快速排序为nd)快速排序为n(n一1)/2答案:d评析:假设线性表的长度为n,则在最坏情况下,冒泡排序须要经过n/2遍的从前往后读取和n/2遍的从后往前读取,须要比较次数为n(n-1)/2。
快速排序法的最坏情况比较次数也就是n(n-1)/2。
(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。
a)log2nb)n/2c)nd)n+l答案:c评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,则需要与线性表中所有的元素进行比较。
对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。
(5)以下对于线性链表的叙述中恰当的就是________。
a)存储空间不一定是连续,且各元素的存储顺序是任意的b)存储空间不一定就是已连续,且前件元素一定存储在后件元素的前面c)存储空间必须连续,且前件元素一定存储在后件元素的前面d)存储空间必须已连续,且各元素的存储顺序就是任一的答案:a评析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
c语言试卷含答案完整版
c语言试卷含答案集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]一、选择题(26分)1. 正确的C语言标识符是(A)。
A._buy_2 B.2_buy C._buy D.buy2. 以下选项中,合法转义字符的选项是(A)。
A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PIB、#include <>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。
A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=, y=;则以下符合C语言语法的表达式是(A)。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。
(完整版)C语言试卷及答案
一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #include<stdio.h>void main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
C语言基础练习题(含答案)Word版
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
c语言试卷和答案.doc
救―-二三四五总分得分得分评分人□|p—得分评分人;芜湖仪表技工承校】 WuHu YIBIa 。
Jlgong Xuoxla 。
2014级机电技术应用第四学期《C 语言》理论知识试卷(A )注意事项:1、 考试时间90分钟,迟到30分钟不得入场,考试结束前30分钟方可交卷。
2、 请首先按要求在试卷的标封处填写您的准考证号、姓名、班级名称。
3、 请仔细阅读各种题目的回答要求,在规定的位置填写您的答案。
4、 不要在试卷上乱写乱画,不要在标封区填写无关的内容。
5、 严禁交头接耳、夹带、传递纸条,一经发现按作弊处理。
i : I帝 1、C 语言程序的三种基本结构是顺序结构、选择结构、循环结构 。
I I! 2、一个C 程序有且仅有一个函数。
IIJ 3、C 语言描述“x 和y 都大于或等于z”的表达式是 x>=z && y>=z 。
削I : 4、C 语言可以用来实现循环的结构化语句是 while 、 do while >:for o• ----------I$ 5、设C 语言中,int 类型数据占4 个字节,则short 类型数据占2个字:二、单项选择(选择一个正确的答案,将相应的字母填入题内的括号里。
每题2 分,共计15题,满分30分。
)I、c语言中的标示符只能由字母、下划线和数字三种字符组成,且第一个字符必须为大写 2、 必须为字母或者下划线 可以是字母、下划线和数字中的任一种字下列哪一个字符不是字符常A 'a 3C 语言中,运算对象必须是整型数的是 A %和/ 4、下列变量说明中正确的是 D A char : a b c ; B char a ; b ; int x, z; 5假设所有的变量均为整型,则表达式(a=2,b=5, b++, a+b ) 6、C 语言规定,在一个源程序中,main 函数的位置—C 必须在最开始 必须在系统调用的库函数的后面可以任意必须在最后7、 以下不正确的叙述是 D 9、在C 语言中,如果下面的变量都是int 类则输出的结果是 A必须为下划线A 在C 程序中,逗号运算符的优先级别最低B 在C 程序中,APH 和aph 是两个不同的变量C 若a 和b 类型相同,在计算了赋值表达式a=b 后b 中的值将放入中,而b 中的值不变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题
1,有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是:
A)132<回车>B)1,3,2<回车
>C)a=1b=3c=2<回车>
D)a=1,b=3,c=2<回车>"
2,以下能正确的定义整型变量a、b和c,并为c赋初值5的语句是:
(A)inta=b=c=5;(B)inta,b,c=5;
(C)a=5,b=5,c=5;(D)a=b=c=5;
3,已知ch是字符型变量,下面不正确的赋值语句是:
(A)ch=’a+b’;(B)ch=’\0’;(C)ch=’7’+’9’;(D)ch=5+9;
4,若有以下定义inta,b;floatx;
则不正确的语句是:
A)a=1,b=2;B)b++;C)a=b=
5;D)b=intx;
5,对以下说明语句的正确理解是:
inta[10]={6,7,8,9,10};
A)将五个初值依次赋给a[1]-a[5];B)将五个初值依次赋给a[0]-a[4];
C)将五个初值依次赋给a[6]-a[10];D)因为数组的长度与初值的个数不相同,所以此语句不正确。
6,下面程序段的运行结果是:
charc[]=”\t\r\n\\\0will\n”;
printf(”%d”,strlen(c));
A)4B)3C)5D)字符串中有非法字符,输出值不确定.
7,判断字符串a和b是否相等,应当使用:
A)if(a==b)B)if(!(a!=b))C)if(!strcmp(a,b))
D)if(strcpy(a,b))"
8,以下正确的函数首部定义形式是:
A)doublefun[intx,inty]B)doublefun(intx;inty)
C)doublefun(intx,y)D)doublefun(intx,inty)
9,下面函数调用语句含有实参的个数为:
func((exp1,exp2),(exp3,exp4,exp5));
A)1B)2C)4D)5
10,以下有关宏替换的叙述不正确的是:
A)宏替换不占用运行时间B)宏名无类型C)宏替换只是字符替换D)宏名必须用大写字母表示
11,若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是:
A)4B)3C)2D)1
12,为了避免在嵌套的条件语句IF-ELSE产生二义性,C语言规定:ELSE子句总是与___配对使用.
A)缩排位置相同的IFB)其之前最近的IFC)其之后最近的IFD)同一行上的IF
13,以下程序的运行结果是:
main()
{
intm=5;
if(m++>5)
printf("%d\n",m);
elseprintf("%d\m",m--);
}
A)4B)5C)6D)7
14,语句WHILE(!E);中的表达式!E等价于:
A)E==0B)E!=0C)E!=1D)E==1 15,下面程序段运行结果是:
intn=0;
while(n++<=2);
printf("%d",n);
A)2B)3C)4D)有语法错误
16,若有如下语句:
intx=3;
do
{printf("%d\n",x-=2);}
while(!(--x));
则上面程序段输出的结果是:
A)1 B)1和-2C)3和0D)死循环 17,执行语句for(i=1;i++<4;);后变量i的值是:
A)3 B)4C)5D)不定
18,若二维数组a有m列,则在a[i][j]前的元素个数为:
A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1
19,以下正确的定义语句是:
A)inta[1][4]={1,2,3,4,5};
B)floatx[3][]={{1},{2},{3}};
C)doubley[][3]={0};
D)longb[2][3]={{1},{1,2},{1,2,3}};
20,判断字符串S1是否大于字符串S2,应当使用:
A)if(S1>S2)B)if(strcmp(S1,S2));
C)if(strcmp(S2,S1)>0);D)if(strcmp(S1,S2)>0);。