C语言期中考试

合集下载

C语言期中试卷(含答案)

C语言期中试卷(含答案)

《C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=’5’;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ’0’; B) value=value - 0x30;C) value=value - 49; D) value=value - ’\060’;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

中职C语言期中试题(卷)

中职C语言期中试题(卷)

题号分数一二三四五六七八总分《C 语言》期中考试试卷(笔试)一、选择:(总分40 分,每小题 2 分)1、C 语言程序的基本单位是()A、函数B、过程C、子程序D、子例程2、一个C 语言程序的执行是从()A、本程序的 main 函数开始到 main 函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的 main 函数形开始,到程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序 main 函数结束3、以下叙述不正确的是()A、一个 C 语言源程序可由一个或多个函数组成B、一个 C 语言源程序必须包含一个 main 函数C、C 语言程序的基本组成单位是函数D、在 C 语言程序中,注释说明只能位于一条语句的后面4、C 语言规定,在一个源程序中main 函数的位置()A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后5、结构化程序所要求的基本结构不包括()A、顺序结构B、goto 跳转得分C、选择(分支)结构D、循环(重复)结构6、下列4 条叙述中,正确的一条是( )A、计算机语言中,只有机器语言属于低级语言B、高级语言源程序可以被计算机直接执行C、C 语言属于高级语言D、机器语言是与所用机器无关7、以下选项中不能用作C 程序合法常量的是()A、1,234B、'\123'C、123D、"\x7G"8、以下选项中可用作C 程序合法实数的是()。

A、.1e0B、3.0e0.2C、E9D、9.12E9、表达式a+=a-=a=9 的值是()。

A、9B、-9C、18D、010、以下C 语言用户标识符中,不合法的是( )。

A、_1B、AaBcC、a_bD、a-b11、若有定义语句:int x=10;,则表达式x-=x+x 的值为()A、-20B、-10C、0D、1012、若有以下程序段:“int c1=1,c2=2,c3;c3=1.0/c2*c1;”,则执行后,c3 中的值是()A、0B、0.5C、1D、213、下列程序的输出结果是()double d=3.2; int x=1.2,y;y=(x+3.8)/5.0;printf("%d\n",d*y);A、3B、3.2C、0D、3.0714、以下程序运行后的输出结果是( )int x=011;printf("%d\n",++x);A、12B、11C、10D、915、以下程序段:int x=12;double y=3.141593;printf("%d%8.6f\n",x,y);执行后的输出结果是()A、123.141593B、12 3.141593C、12,3.151993D、123.141593016、以下程序段的输出结果是()int k=17;printf("%d,%o,%x\n",k,k,k);A、17,021,0x11B、17,17,17C、17,0x11,021D、17,21,1117、以下程序段运行的结果是()。

大一c语言期中考试试题及答案

大一c语言期中考试试题及答案

大一c语言期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体类型的关键字是()。

A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. ==答案:C3. 在C语言中,用于定义一个函数的关键字是()。

A. intB. voidC. returnD. function答案:B4. 下列哪个选项不是C语言中合法的变量名?()A. _nameB. name_2C. 2nameD. name答案:C5. 在C语言中,用于表示逻辑“与”的运算符是()。

A. &&B. ||C. !D. ^答案:A6. 下列哪个选项是C语言中的控制语句?()A. ifB. switchC. caseD. all of the above答案:D7. C语言中,用于定义一个字符常量的是()。

A. 'a'B. "a"C. aD. a答案:A8. 在C语言中,用于表示“不等于”的运算符是()。

A. ==B. !=C. =D. ==答案:B9. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C10. 在C语言中,用于定义一个整型数组的语法是()。

A. int arr[10];B. int arr=10;C. int arr[];D. int [10] arr;答案:A二、填空题(每题2分,共20分)1. C语言中,用____关键字定义一个全局变量。

答案:extern2. 一个C语言程序的执行从____函数开始。

答案:main3. C语言中,用于声明一个指针变量的语法是____。

答案:int *p;4. C语言中,____运算符用于取地址。

答案:&5. C语言中,____运算符用于解引用指针。

C语言期中考试

C语言期中考试

0期中考试 1. 若a 为int 型变量,则执行以下程序段后的a 值是( )。

a=5;a*=a/=a++;A. 2 B . 1 C . 40 D . 3 2. 以下程序段的执行结果是( )。

Int x=-3;Do {printf( “%dn ”,x++);} while(!x);A . -3B . -2C .死循环D . -3-2 -13.若a 、b 、c 均为int 型变量,则执行以下程序段后的输出结果是()b=(a=10,a+5,c=10);printf( “a=%d,b=%d,c=%dn ” ,a,b,c); c=(a=10,b=5,a+b);printf( “a=%d,b=%d,c=%dn ” ,a,b,c);A. a=10, b=15, c=10 B . a=10, b=10, c=10 a=10, b=5, c=10 a=10, b=5, c=10 C. a=10, b=10, c=10 D . a=10, b=10, c=10 a=10, b=5, c=15 a=10, b=5, c=5 4 .若a1,a2,a3,a4均为char 类型变量,则执行以下程序段后的输出结果是( 3' ;a4=' 3 45.逻辑运算符两侧运算对象的数据A.只能是0或1 BC.只能是整型或字符型数据6 .设i,j 和k 是int 型变量,且 A . ' i ' &&‘j ' C. i || j + k && j - k 7.若希望当num 的值为奇数时,表达式的值为“真” 为“假” 0则以下不能满足要求的表达式是(A . num % 2 = = 1B . ! (num%2= =0)C . !(num%2)D . num%2 8 .为了避免在嵌套的条件语句if-else 中产生二义性,C 语言规定:else 子句总是与() B .其之前最近而且不带else 的if 配对.第一个if 配对)0D . y= =110 .设x 、y 均为int 类型变量,而且x 值为100,则关于以下for 循环的正确判断是(For(y=100;x!=y;++x,y++)Printf( “**** n ”);4'; a 仁’1' ;a2=' 2' ;a3=' printf( “%1c ,a1);printf( “%2c ,a2);printf( “%3c ,a3);printf( “%4c ,a4);A . 1 B. 1 C 2 202003 0004.输出格式的描述符不正确)0.只能是0或非0正数 .可以是任何类型的数据 则以下值为0的表达式是(Di=3,j=4,k=5, B .i<=jD . ! ( (i<j) && !k || 1),num 的值为偶数时,表达式的值)0A.缩排位置相同的if 配对 C .其之前最近的if 配对 9.语句 while(!y); A . y= =0 B Dy 等价于(.y!=0中的表达式! .y!=1 C.是无限循环 .for 语句中存在语法错误 .int n=1;注意事项:1.考前请将密封线内填写清楚2. 所有答案请直接答在试卷上 3 .考试形式:闭卷4.本试卷共3大题,满分100分,考试时间100分钟选择题。

C语言期中试卷(含答案)

C语言期中试卷(含答案)

《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

c语言期中考试题

c语言期中考试题

C语言试题(考试时间:60分钟总分:100分)一、选择题(每小题2分,共30分)1.下列常量正确的是A.087 B. 6e-1.1 C. ‘\’ D. “\\”2.下列字符常量中不同于其他三个的是A.‘\101’B.‘A’C.‘\a’D.‘\x41’3. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.obj文件A. 编辑B.连接C.编译D.翻译4.下列不是关键字的是。

A、ifB、breakC、mainD、static5.以下不正确的C语言标识符是。

A. ABCB. a2bcC. _abcD. f3 6.设int a=3,b=4,c=5;,下列表达式的值不为1的是。

A)a+b>c&&b==c B)a||b+c&&b-cC)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/27.printf("a\bre\'hi\'y\\\bou\n");的输出结果是A)a\bre\'hi\'y\\\bou B)a\bre\'hi\'y\bouC)re'hi'you D)abre'hi'y\bou8. int a=1; char b=2; float c=1.1; 则sizeof(a+b+c)的值。

A. 4B. 8C. 2D. 19.下列运算符中,不属于关系运算符的是。

A. <B. > =C. >D. %=10. 在c语言中执行这条语句 printf("%d\n", 5.01); 屏幕显示为A.5 B.6 C.不确定D. 5.0111.有以下程序:int y=1111;printf(“y=%6d\n”,y);printf(“y=%#6x\n”,y);程序运行的结果是:()a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111y= 0x457 y=0x 457 y= ox457 y=ox45712. { float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y); }程序运行的结果是:()a) *3.667000* b) *3.667000** 3.67* *3.667 ** 4* *4.000000*c) *3.667* d) *3.667000**3.667000* * 3.67**3.667000* *4.000000*13.已有定义:double a,b;,输入方式(此处*代表一个空格) **1.0**2.0<回车> 分别给a,b,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b); b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%4e%4e”,&a,&b);14.有以下程序:{ int k=2,i=2,m; m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i); }程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,415. c har a[10]; scanf(“%s”,a);printf(“%s”,a);输入wang t回车结果为A. wang tB. wangC. 不确定D.无法运行二、阅读程序题:(每题8分,共40分)1. 写出以下程序运行的结果输入“12345,xyz”,下列程序输出的结果是。

C语言期中考试题目及答案

C语言期中考试题目及答案

一、选择题:【1】在C语言中,用户能使用的正确标识符是。

A) 5f B) _for C) struct D) _f.5答案: B 分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32 个字符。

【2】以下那个是正确的C语言常量。

A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案:D【3】以下对C语言源程序有关常识正确的描述是。

A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案:D【4】以下for 循环的执行次数是。

for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环B)循环次数不定C)执行4次D)执行3次答案:C分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。

【5】对for( 表达式1;; 表达式3) 可理解为。

A)for( 表达式1;0; 表达式3)B)for( 表达式1;1; 表达式3)C)for( 表达式1; 表达式1; 表达式3)D)for( 表达式1; 表达式3; 表达式3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。

A)while循环执行10次 B )循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次答案:C分析:因为k=0 为假,所以程序不执行其后的语句。

【7】C语言中while和do-while 循环的主要区别是。

A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案:A【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后n 的值为。

C语言期中考试题目及答案

C语言期中考试题目及答案
一、选择题:
【1】在C语言中,用户能使用的正确标识符是 。
A) 5f B) _for C) struct D) _f.5
答案:B
分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32个字符。
【2】以下 那个是正确的C语言常量。
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循环控制条件严格
C) do-while允许从外部转到循环体内
D) do-w a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a&gt;b)&amp;&amp;(n=c&gt;d)后n的值为 。
答案:D
【4】以下for循环的执行次数是 。
for(x=0,y=0;(y=123)&amp;&amp;(x&lt;4);x++)
A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次
答案:C
分析:若要判断(y=123)&amp;&amp;(x&lt;4)假,因为y=123永远为真,所以只需要判断x&lt;4为假即可。
A) 0678 B) '\0101' C) 1.2E3.5 D) 123L
答案:D
【3】以下对C语言源程序有关常识正确的描述是 。
A) main函数必须位于文件的开头
B) 每个语句必须单独一行
C) 标识符中大小写字母没有区别
D) 宏定义#define部分不一定要放在程序的最开头位置
则下面描述中正确的是 。

大一c语言期中考试题及答案

大一c语言期中考试题及答案

大一c语言期中考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. intC. _intD. int1答案:C2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. 1答案:A3. 下列哪个选项不是C语言中的关键字?A. intB. autoC. floatD. var答案:D4. 以下哪个选项是正确的C语言变量声明?A. int a, b;B. int a; int b;C. int a, b;D. All of the above答案:D5. C语言中,下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. All of the above答案:D7. 在C语言中,哪个运算符用于求余?A. %B. /C. *D. -答案:A8. C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 下列哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\0World"答案:A10. 在C语言中,下列哪个选项是正确的数组声明?A. int array[5] = {0, 1, 2, 3, 4};B. int array[] = {0, 1, 2, 3, 4};C. int array[5] = {0, 1, 2};D. All of the above答案:D二、填空题(每题3分,共30分)1. 在C语言中,声明一个整型变量的关键字是________。

c语言大一期中考试试题及答案

c语言大一期中考试试题及答案

c语言大一期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。

A. varB. defineC. intD. let答案:C2. 下列选项中,不属于C语言基本数据类型的是()。

A. intB. floatC. stringD. char答案:C3. 在C语言中,以下哪个符号用于表示逻辑与操作()。

A. &&B. ||C. !D. =答案:A4. 下列哪个选项是正确的C语言函数声明()。

A. int function_name(int a, int b);B. int function_name(int a; int b);C. int function_name(int a, int b)D. int function_name(int a, int b)答案:A5. C语言中,用于输入输出的库函数是()。

A. math.hB. stdio.hC. string.hD. time.h答案:B6. 下列哪个选项是C语言中正确的注释方式()。

A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释答案:B7. C语言中,用于定义数组的关键字是()。

A. listB. arrayC. tableD. int答案:B8. 下列哪个选项是C语言中正确的字符串定义方式()。

A. char str[] = "Hello";B. char str[] = 'Hello';C. char str = "Hello";D. char str[] = {"Hello"};答案:A9. C语言中,用于定义指针的关键字是()。

A. pointerB. refC. ptrD. *答案:D10. C语言中,用于定义结构体的关键字是()。

A. structB. classC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个全局变量。

C语言期中考试试题及答案

C语言期中考试试题及答案

高级语言程序设计试题答案在最后一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.C语言程序编译时,程序中的注释部分是()A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()3 C3.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;4.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是()A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a5.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是()A.0B.1 C( )A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数7.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B.编译、连接8.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);9.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( )A. 22,13B. 12,10C. 22,10D. 12,1310.下列各语句定义了数组,其中一个不正确的是( )A. static int a[5],b[2][3];B. char no[30],rec[30,6];C. int x[]={2,4,6,8,10};D. int x[10]={1,2,3,4,5};二、填空题(本大题共10小题,每小题2分,共20分)11.初始化值是0.618的双精度变量a的定义形式为____________。

c语言期中考试复习题

c语言期中考试复习题

c语言期中考试复习题一、选择题1. 在C语言中,以下哪个是合法的字符常量?A. 'A'B. "A"C. 97D. '97'2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string3. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. voidD. int4. 以下哪个是C语言中的控制语句?A. ifB. whileC. switchD. All of the above5. 在C语言中,数组的下标是从哪个数字开始的?A. 0B. 1C. -1D. 任意数字二、填空题6. 在C语言中,一个变量的声明通常包括数据类型和________。

7. 函数的返回值类型是通过关键字________来声明的。

8. 在C语言中,________关键字用于定义一个循环,可以重复执行一段代码。

9. C语言中的________语句用于从键盘接收输入。

10. 数组的声明格式为________。

三、简答题11. 解释C语言中的指针是什么,并给出一个简单的示例。

12. 描述C语言中结构体(struct)的概念,并说明其用途。

13. 解释C语言中函数的参数传递方式有哪些,并举例说明。

四、编程题14. 编写一个C语言程序,实现计算并输出1到100的整数之和。

15. 编写一个函数,该函数接受一个字符串作为参数,并返回该字符串的长度。

五、论述题16. 论述C语言中的递归函数的概念,并给出一个使用递归函数的示例。

17. 讨论C语言中全局变量和局部变量的区别以及它们各自的使用场景。

六、综合应用题18. 设计一个C语言程序,该程序能够接收用户输入的两个整数,并输出它们的乘积。

19. 编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

七、附加题20. 描述C语言中动态内存分配的概念,并使用malloc和free函数编写一个示例程序。

c语言期中测试

c语言期中测试

线封密《c语言期中测试》试卷一、单选题(每题1分,共80分)1、以下程序的正确运行结果是______。

#include <stdio.h>void num(){ extern int x,y ; int a=15,b=10;x=a-b;y=a+b;}int x,y;main(){ int a=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);}A、1,12B、不确定C、5,25D、12,2参考答案:C2、以下正确的函数定义形式是______。

A、double fun(int x,int y);B、double fun(int x;int y)C、double fun(int x,int y)D、double fun(int x,y);参考答案:C3、在C语言程序中______。

A、函数的定义和函数的调用均不可以嵌套B、函数的定义可以嵌套,但函数的调用不可以嵌套C、函数的定义和函数的调用均可以嵌套D、函数的定义不可以嵌套,但函数的调用可以嵌套参考答案:D4、以下对C语言函数的有关描述中,正确的是______。

A、C程序中,有调用关系的所有函数必须放在同一个源程序文件中B、C函数既可以嵌套定义,又可以递归调用C、函数必须有返回值,否则不能定义成函数D、调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参参考答案:D5、决定c语言中函数返回值类型的是______。

A、定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)B、调用该函数的主调函数类型C、调用函数时临时指定的类型D、return语句中的表达式类型参考答案:A6、设有函数调用语句"f(x1,x1+x2,(x1,x2));",正确的说法是______。

A、调用时会出现语法错误。

B、调用的实际参数是3个C、调用的实际参数是4个D、调用的实际参数是2个参考答案:B7、下面程序的输出结果是______。

C语言期中测试(含答案)

C语言期中测试(含答案)

C语言期中测试(开卷测试,答案写在白纸上)一.选择题(1)C语言源程序名的后缀是A).exe B).C C).obj D).cpp(2)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A5e-3 0Xa23 4c1.5 10,000-0xf 4.5e0 0abc 3.e5(3)以下正确的字符串常量是A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(6)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={1,2,3,4,5,6};C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][]={1,2,3,4,5,6};(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(11)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0)printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421 (12) 有以下程序#include<stdio.h>int a=4;int f(int n){int t=0;static int a=5;if(n%2){a=6;t+=a++;}{ a=7;t+=a++;}return t+a++;}void main(){int s=a,i=0;for(;i<2;i++)s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。

c期中考试题库及答案

c期中考试题库及答案

c期中考试题库及答案一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. 在C语言中,哪个关键字用于声明一个函数?A. intB. functionC. voidD. return答案:C3. C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ++答案:A5. 在C语言中,哪个函数用于计算一个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A6. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A8. C语言中,哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. strtol()D. sprintf()答案:B9. 在C语言中,哪个关键字用于声明一个指针?A. int*B. pointerC. *D. ptr答案:C10. C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。

答案:int2. C语言中,用于声明一个浮点型变量的关键字是________。

答案:float 或 double3. C语言中,用于声明一个字符型变量的关键字是________。

答案:char4. C语言中,用于声明一个布尔型变量的关键字是________。

c语言期中考试题及答案2020

c语言期中考试题及答案2020

c语言期中考试题及答案2020一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,以下哪个运算符用于取模运算?A. %B. //C. /D. *答案:A3. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 08C. 0.5D. 1.2e3答案:A4. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A5. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. !D. &答案:A6. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[3][2];B. int a[2,3];C. int a[][];D. int a[2][3,2];答案:A8. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. len()答案:A9. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p[];C. int p*;D. int *p=0;答案:A10. C语言中,以下哪个关键字用于声明一个全局变量?A. staticB. externC. registerD. auto答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

答案:int2. 如果一个函数的返回类型是void,则该函数没有________。

C语言期中测试题(含答案)

C语言期中测试题(含答案)

一、 填空1.C 语言源程序文件的后缀是 .c 。

2.构造化程序由 顺序构造 、 选择构造 、 循环构造 三种根本构造组成。

3.在C 语言中,用关键字 int 定义根本整型变量,一个根本整型变量系统分配 2 字节,用关键字 float 定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配 8 字节。

二、 选择1. 以下选项中正确的实型常量是( A )A .12.B .-20C . 1,000D . 4 5 62.以下选项中不正确的实型常量是〔无正确答案〕A . 2.607E-1B .0.8103e2C . -77.77D . 456e-23. 以下选项中不合法的用户标示符是( C )A. _123 B .A12_1 C . A $ D .Dim4.C 语言中运算对象必须是整型的运算符是( A )A .%B ./C .!D .*5. 假设变量已正确定义并赋值,符合C 语言语法的表达式是( B )A .a=a+7 ;B .a=7+b+c,a++C . int(12.3%4)D .a=a+7=c+b6.下面合法的赋值语句是( C )A .a=b=58B .k=int(a+b)C . a=58,b=58D .--i7.假设变量已正确定义为int ,要给a,b,c 输入数据,正确的输入语句是( D )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)8.假设变量a,b,t 已正确定义,要将a 和b 中的数进展交换,以下选项中不正确的语句组是( C )A .a=a+b,b=a-b,a=a-b;B . t=a,a=b,b=t;C .a=t;t=b;b=aD .t=b;b=a;a=t;9.假设有正确定义语句:double x=5.16894;语句printf(“%f\n 〞,(int)(x*1000+0.5)/(double)1000);的输出结果是( D )A .输出格式说明与输出项不匹配,输出无定值B .C .!D .10. 假设有以下程序段:int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\\n 〞,a,b,c);执行后的输出结果是( B )A .3,0,-10B .0,0,5C .-10,3,-10D .3,0,311.以下运算符中优先级别最高的是( A )A . !B .%C .-=D .&&12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A )A .(x>=y)&&(y>=z)B .(x>=y)AND(y>=x)C .(x>=y>=z)D .(x>=y)&(y>=z)13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,那么以下的表达式中值为0的表达式是( D )A.a&&b B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1) 14.有以下程序:#include<stdio.h>main(){ int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec+=1;printf(“%d\n〞,c);}程序的运行结果是( C )A.0 B.1 C.2 D.315.有以下程序:#include<stdio.h>main(){ int w=4,x=3,y=2,z=1;printf(“%d\n〞,(w<x?w:z<y?z:x));}程序的运行结果( A )A.1 B.2 C.3 D.416.有以下程序:main(){int a,b,s;scanf(“%d %d〞,&a,&b);s=a;if(a<b)s=b;s*=s;printf(“%d\n〞,s);}假设执行以上程序时从键盘上输入3和4,那么输出结果是( B )A.14 B.16 C.18 D.2017.有以下程序段:y=-1;if(x!=0)if(x>0) y=1;else y=0;其能正确表示的数学函数关系是( C )A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x yB .⎪⎩⎪⎨⎧>=-<=)0(0)0(1)0(1x x x yC .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x yD .⎪⎩⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y18.假设有定义语句int a, b ;double x ;那么以下选项中正确的选项是( C )A .switch 〔x%2〕B .switch 〔〔int 〕x/2.0){case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C .switch 〔〔int 〕x%2〕D .switch 〔〔int 〕〔x 〕%2〕{case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }19.有以下程序段:int k,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf(“%d\n 〞,s);程序段的输出结果是( D )A .9B .1C .11D .1020.有以下程序段:int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d\n 〞,m);程序段的输出结果是( C )A .12B .15C .20D .2521.有以下程序段:int n=10;while(n>7){ n--;printf(“%d\n 〞,n);}程序段的输出结果是( B )A.10 B.9 C.10 D.99 8 9 88 7 8 77 622.有以下程序段:int x=3;doprintf(“%3d〞,x-=2);while(!(--x));程序段的输出结果是( C )A.1 B.3 0 C.1 -2 D.死循环23.有以下程序:main(){int i,sum;for(i=1;i<=6;i++)sum+=sum;printf(“%d\n〞,sum;);}程序的输出结果是( C )A..15 B.14 C.不确定D.024.有以下程序:#include<stdio.h>main(){int i;for(i=1;i<=5;i++){if(i%2)printf(“*〞);elsecontinue;printf(“#〞);}pintf(“$\n〞);}程序的输出结果是( A )A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ 25.有以下程序:#include<stdio.h>main(){ int x,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d〞,x);}printf(“\n〞);}程序的输出结果是( A )A.28 70 B.42 84 C.26 68 D.39 81【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】。

C语言期中试卷

C语言期中试卷

《C语言程序设计》期中考试卷一、选择题1.下面程序段的运行结果是。

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##52.下面程序的运行结果是。

#include<stdio.h>int main(){int i;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&");}return0;}A.#&&&*&B.#&& &C.#*&*&D.#&下中的的值(其N中和分别表示一个三位数),请选择填空。

.. . ....以下正确的描述是。

句的作用是结束整个循环的执行只能在循环体内句体内使句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句5.在下面的程序中,。

#include<stdio.h>int main(){int t,x;for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}return0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是。

for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%4d”,n);}A.for(n=100;(n%3)&&n<=200;n++)printf(“%4d”,n); B.for(n=100;(n%3)||n<=200;n++)printf(“%4d”,n); C.for(n=100;n<=200;n++)if(n%3!=0)printf(“%4d”,n); D.for(n=100;n<=200;n++){if(n%3)printf(“%4d”,n);else continue;break;}7.下面程序的运行结果是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

期中考试注意事项:1. 考前请将密封线内填写清楚2. 所有答案请直接答在试卷上3.考试形式:闭卷4. 本试卷共 3大题,满分100分,考试时间100分钟一、选择题。

(将答案写在表格中,每题1.5分,共45分)1.若a为int型变量,则执行以下程序段后的a值是()。

a=5;a*=a/=a++;A.2B.1 C.40 D.32.以下程序段的执行结果是()。

Int x=-3;Do {printf(“%d\n”,x++);} while(!x);A.-3B.-2 C.死循环D.-3-2-13.若a、b、c均为int型变量,则执行以下程序段后的输出结果是()。

b=(a=10,a+5,c=10);printf(“a=%d,b=%d,c=%d\n”,a,b,c);c=(a=10,b=5,a+b);printf(“a=%d,b=%d,c=%d\n”,a,b,c);A.a=10, b=15, c=10 B.a=10, b=10, c=10a=10, b=5, c=10 a=10, b=5, c=10C.a=10, b=10, c=10D.a=10, b=10, c=10a=10, b=5, c=15 a=10, b=5, c=54.若a1,a2,a3,a4均为char类型变量,则执行以下程序段后的输出结果是()。

a1=’1’;a2=’2’;a3=’3’;a4=’4’;printf(“%1c\n”,a1);printf(“%2c\n”,a2);printf(“%3c\n”,a3);pr intf(“%4c\n”,a4);A.1 B.1 C.1 D.输出格式的描述符不正确2 2 023 3 0034 4 00045.逻辑运算符两侧运算对象的数据()。

A.只能是0或1 B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据6.设i,j和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是()。

A.’i’ && ‘j’ B.i<=jC.i || j + k && j - k D.! ( (i<j) && !k || 1)7.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A.n um % 2 = = 1 B.! (num%2= =0) C.!(num%2)D.num%28.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与()。

A.缩排位置相同的if配对B.其之前最近而且不带else的if配对C.其之前最近的if配对D.第一个if配对9.语句while(!y);中的表达式!y等价于()。

A.y= =0B.y!=1 C.y!=0 D.y= =110.设x、y均为int类型变量,而且x值为100,则关于以下for循环的正确判断是()。

For(y=100;x!=y;++x,y++)Printf(“****\n”);A.循环体只执行一次B.是无限循环C.循环体一次都不执行D.for语句中存在语法错误11.下列程序中是死循环的是()。

A.int n=1; B.int n=1;While(!n) do {n--;} while(n);n++;C.int n=1;D.for(n=5;n<1;);Do {n++;} while(n);12.以下程序段的执行结果是()。

Int a,b;For(a=1;a<5;a+=2){ for(b=1;b<5;b++)叮叮小文库printf(“%2d”,a*b);if (b= =5) printf(“\n”);}A.1 2 3 4B.1 2 3 4 C.2 3 4 6 9 12 D.2 3 43 6 9 12 6 9 12 15 6 9 1210 15 20 13.以下对一维数组a的正确说明是()。

A.char a(10); B.int a[ ];C.int k=5,a[k]; D.char a[ ]={‘a’,’b’,’b’};14.若有说明语句:int a[2][4];,则对a数组元素的正确引用是()。

A.a[0][3]B.a[0][4] C.a[2][2] D.a[2][2+1]15.若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8};,则a数组的行数为()。

A.3B.2 C.无确定值D.116.判断字符串str1是否大于字符串str2,应当使用()。

A.if (str1>str2) B.if (strcmp(str1,str2))C.if (strcmp(str2,str1)>0) D.if (strcmp(str1,str2)>0)17.若有语句:char s1[10],s2[10]={“books”};,则能将字符串books赋给数组s1的正确语句是()。

A.s1={“books”};B.strcpy(s1,s2);C.s1=s2; D.strcpy(s2,s1);18.若有以下程序段for(m=1;m<=100;m++){ scanf(“%d”,&y);if (y<0) continue;printf(“%3d”,m);}正确的描述是()。

A.当y<0时整个循环结束B.y>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数19.以下正确的函数说明是()。

A.int fun(int a,b)B.float fun(int a ; int b)C.double fun( ) D.int fun(char a[ ][ ])20.以下正确的说法是()。

A.实参和与其对应的形参各占用独立的存贮单元B.实参和与其对应的形参共用一个存贮单元C.只有当实参和与其对应的形参同名时才共用存贮单元D.形参是虚拟的,不占用存贮单元21.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是()。

A.float型B.int型C.long型D.double型22.以下正确的描述是()。

A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和调用均不可以嵌套D.函数的定义和调用均可以嵌套23.数组元素a[i]是该数组中第()个元素。

A.1 B.i C.i+1D.i-124.执行下面程序段后,x的值是()。

Int x;Printf(“%d\n”,(x=3*5,x+5);A.10 B.15 C.20D.525.判断char型变量c1是否为大写字母的正确表达式是()。

A.’A’<=c1<=’Z’B.(c1>=’A’) & (c1<=’Z’)C.(c1>=’A’) && (c1<=’Z’)D.(‘A’<=c1) AND (‘Z’>=c1) 26.表达式!(3>5)||(6<2)的值是()。

A.0 B.1C.3 D.527.以下程序的输出结果是()。

Mian(){ int x=2,y=-1,z=2;If(x<y)If(y<0) z=0;Else z+=1;Printf(“%d\n”,z);}A.3 B.2C.1 D.028.设有说明:int a=1,b=0;则执行以下语句后的输出结果是()。

Switch(a){ case 1:switch(b){ case 0:printf(“**0**\n”);break;case 1:printf(“**1**\n”);break;}case 2: printf(“**2**\n”);break;}A.**0** B.**0****2**C.**0** D.switch语句中存在语法错误**1****2**29.下面程序的运行结果是()。

Main ( ){ int m=0;while (m<=2){m++;叮叮小文库printf(“%d\n”,m);}}A.1 B.1 C.1 D.12 2 23 3430.下面程序段的运行结果是()。

Char x[5]={‘a’,’b’,’\0’,’c’,’\0’};Printf(“%s”,x);A.’a’’b’B.ab C.ab c D.abc二、填空题。

(每题2分,共20分)1.下面程序段是找出整数的所有因子,请填空。

Scanf(“%d”,&x);I=1;For( ; i<=x ; ){if(x%I==0) printf(“%3d”,I);I++;}2.下面程序的功能是计算1-3+5-7+…-99+101的值,请填空。

Main( ){ int i,t=1,s=0;for(i=1;i<=101;i+=2){ t=t*i ; s=s+t; t=-t/i ;}printf(“%d\n”,s);}3.如果运行以下程序段时输入字符为“t”,则程序段的运行结果是(T )。

Main( ){ char c1;scanf(“%c”,&c1);c1=(c1>=’A’ && c1<=’Z’)?(c1+32):c1;c1=(c1>=’a’ && c1<=’z’)?(c1-32):c1;printf(“%c”,c1);}4.设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是( 3 )。

For(x=0,y=0;y!=123 && x<3;x++)Scanf(“%d”,&y);5.下面程序的运行结果是(####)。

#include<stdio.h>main( ){ int i,j;for(i=4;i>=1;i--){ for(j=1;j<=i;j++) putchar(‘#’);for(j=1;j<=4-i;j++) putchar(‘*’);putchar(‘\n’);}}6.下面程序可求出矩阵a的两条对角线上的元素之和,请填空。

Main( ){int a[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i= =j) sum1=sum1+a[i][j];for(i=0;i<3;i++)for( j=2 ; j>=0 ;j--)if((i+j)= =2) sum2=sum2+a[i][j];printf(“sum1=%d,sum2=%d\n”,sum1,sum2);}7.以下程序的输出结果是(1110 )。

相关文档
最新文档