C语言期中考试测验题(一)

合集下载

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

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

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

1、C语言程序编译时,程序中得注释部分就是( )A、参加编译,并会出现在目标程序中B、参加编译,但不会出现在目标程序中C、不参加编译,但会出现在目标程序中D、不参加编译,也不会出现在目标程序中2、设int a=3;则表达式a<1&&--a>1得运算结果与a得值分别就是( )A、0与2B、0与3C、1与2D、1与33、与语句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、1C、2D、36、结构化程序设计所规定得三种基本控制结构就是( )A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数7、完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行得步骤依次为( )A、连接、编译B、编译、连接C、连接、运行D、运行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语言期中考试试卷1

C语言期中考试试卷1

一.理论试题:1. C语言的运算符按运算对象的数目可以分为()。

A) 单目运算一种B) 单目和双目运算符C) 单目、双目和三目运算符D) 单目、双目、三目运算和四目运算符2. C语言表达式2/5*10的值是()。

A) 0.04 B) 4 C) 4.0 D) 03. 已知变量f和i的类型说明如下:float f=12.34; int i;则以下符合C语言语法的表达式是()。

A) i=(int)f%5 B) i=int(f)%5C) i=f%5 D) i=(int f)%54. 能正确表示数学式1≤x≤5的C语言表达式是()。

A) 1 <=x<=5 B) (x> =1)&(x<=5 )C) (x>=1 )&&(x<=5) D) (1 < =x)||(5> =x)5. 设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,则C语言表达式c*i+c*f-i+100值的数据类型为()。

A) int B) float C) char D) 不确定6. C程序的执行从( )开始。

A) 程序中的第1个语句B) 程序中的第1个函数C)名为main 的函数D) 包含文件的第1个函数7.以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数据的是()。

main(){int x,y;scanf("x=%d,y=%d",&x,&y);printf("x+y=%d",x+y);}(说明:用<CR>表示换行符,用_表示空格符)A) 10_20<CR> B) x=10,y=20<CR>C) 10<CR> D) x=10<CR>20<CR> y=20<CR>8. 在循环结构的循环体中执行break语句,其作用是()A) 结束本次循环,进行下次循环B) 继续执行break语句之后的循环体中各语句C) 跳出该循环体,提前结束循环D) 终止程序运行9. 对以下程序段描述正确的是()x=10;while(x) { x=x/4;}A) 不执行循环体B) 循环体执行一次C) 循环体执行二次D) 死循环10.下面的C语言代码的输出是()int a=2;switch(a){case 1;pri ntf(“In case 1 a =%d\n”,a);break;case 2:printf(“In case 2 a=%d\n”,a);case 3:printf(“In case 3 a=%d\n”,a);break;default:printf(“In default a = %d\n”,a);}A.In case 2 a=2 B.In case 2 a=2In case 3 a=2In default a=2C.In case 2 a=2In case 3 a=2 D.In case 2 a=2In default a=211. 执行int x=2,y=3后表达式x=(y==3)的值是()A)0 B)1 C)2 D)312. 执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是()A) 3 B) 4 C) 7 D) 1113. 要使以下程序的输出结果为4,则a和b应满足的条件是()main(){int s,t,a,b;scanf(“%d%d”,&a,&b);s=t=1;if(a>0) s += 1;if(a>b) t= s + t;elseif(a==b) t=5;else t=2*s;printf(“%d\n”,t);}A)a>0并且a<b B)a<0并且a<b C)a>0并且a>b D)a<0并且a>b14. 若int i;则以下循环语句的循环执行次数是()for (i=2;i==0;){printf(“%d”,i--);}A)无限次B)0次C)1次D)2次15. 下面程序的输出结果为()main(){int i;for(i=100;i<200;i++){if(i%5==0){continue;}printf(“%d\n”,i);break;}}A)100 B)101 C)无限循环D)无输出结果16. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y 的值为A) 不定值B) 4 C) 3 D) 117. 下面哪个表达式满足x为奇数时为真,x为偶数时为假。

大一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语言期中试卷(含答案)

《 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语言期中考试题目及答案

一、选择题:【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语言期中考试题及答案

大一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语言期中测试

线封密《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语⾔期中试卷(含答案)《 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语言期中试卷

一、选择题(每题1分,共40分)1.以下叙述中错误的是【】。

(A)C语言编写的函数源程序,其文件名后缀可以是.C(B)C语言编写的函数都可以作为一个独立的源程序文件(C)C语言编写的每个函数都可以进行独立的编译并执行(D)一个C语言程序只能有一个主函数2.以下叙述正确的是【】。

(A)在C程序中,main函数必须位于程序的最前面(B)C程序的每行中只能写一条语句(C)C语言本身没有输入输出语句(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符【】。

(A)必须为字母(B)必须为下划线(C)必须为字母或下划线(D)可以是字母,数字和下划线中的任一种字符4.下列形式的常数,C程序不允许出现的是【】。

(A)±123(B).45(C)25.6e-2(D)4e35.在C语言中,逻辑值"真"的表示是用【】。

(A)true(B)整型值0(C)非零整型值(D)T6.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为【】。

(A)float(B)char(C)int(D)double7.下列运算符中,不属于关系运算符的是【】。

(A)<(B)>=(C)!(D)!=8.设x=3,y=2,则表达式x*=y+8的值为【】。

(A)3(B)2(C)30(D)109.若定义数组int a[10],其数组元素的下标下限为【】。

(A)1(B)0(C)9(D)1010.设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为【】。

(A)2.5(B)7(C)4.7(D) 2.7511.C语言正确表达关系:X≥Y≥Z的是【】。

(A)(X>=Y)&&(Y>=Z)(B)(X>=Y)AND(Y>=Z)(C)(X>=Y>=Z)(D)(X>=Y)&(Y>=Z)12.已知int x=10,y=20,z=30,以下语句执行后x,y,z的值是【】。

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语言期中考试试卷

一、单项选择题(本大题共 20 小题,每题只有一个正确答案,答对一题得 1 分,共 20 分)(1) 下列标识符中,合法的用户标识符为[ ]A) for B) 4d C) f2_G3 D) char(2) 以下选项中合法的字符常量是【】A)"B" B) '\010' C) 68 D) D(3) c语言中要求运算对象都必须为整型的运算符是[ ]A) % B) / C) * D) +(4) 已知ch是字符型变量,则不正确的赋值语句为[ ]A) ch=’a+b’;B)ch=’\0’;C) ch=’7’+’9’;D) ch=65+1;(5) 已知x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是[ ]printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D) 10,2(6)已知x、y、z被定义为int型变量,若要从键盘输入x、y、z的值,正确的输入语句是[ ]A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);(7) 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为[ ]A) 0 B) 1 C)2 D) 3(8) 变量c1,c2,c3均为字符类型,对输入函数scanf(“%c%c%c”,&c1,&c2,&c3),正确的输入格式为。

[ ] A) c1=a,c2=b,c3=c B) a,b,c C) abc D) a b c(9)已知t为int型变量,且进入下面的循环之前t的值为0while( t=l ){ ……}则以下叙述中正确的是[ ]A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对(10) 以下关于运算符优先顺序的描述中正确的是____. [ ]A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑与运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符(11) 能正确表示”当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)(12) 判断char型变量ch是否为大写字母的正确表达式是____. [ ]A)’A’<=ch<=’Z’ B)(ch>=’A’)&(ch<=’Z’)C) (ch>=’A’)&&(ch<=’Z’) D)(‘A’<=ch)AND(‘Z’>=ch)(13) 以下不能对二维数组a进行正确初始化的语句是_____。

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

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

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

1.C语言程序编译时,程序中的注释部分是()A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和33.与语句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.1C.2D.36.结构化程序设计所规定的三种基本控制结构是( )A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数7.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B.编译、连接C.连接、运行D.运行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语言期中测试题(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2009-2010(一)软件0901,软件0902班C语言期中测试姓名班级考号A、intB、floatC、doubleD、不正确2、设有:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是()A、intB、floatC、doubleD、char3、执行下列语句int a=3,b;b=-(--a);后a,b的值分别是()A、2和-2B、2和-3C、3 和-2D、3 和-34、执行下列语句float f=;int a=4;f=(int)f+a;后f 的值是()A、 B、 C、 D、出错5.已有定义int x;float y; 且执行scanf(“%3d%f”,&x,&y);语句时,从第一列开始输入数据库12345 678<CR〉, y的值为()A)无确的定值 B) C) D)6、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是().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>7、已有程序段和输入数据的形式,程序中输入语句的正确形式应当为().main( ){int a;float f; printf(“\nInput number:”);}input number: 2<CR>A)scanf(“%d,%f”,&a,&f); B)sc anf(“%f ,%d”,&f,&a);C)scanf(“%d%f ",&a,&f); D)scanf(“%f%d”,&f,&a);8、根据定义和数据的输入方式,输入语句的正确形式为( )已有定义:float f1,f2;数据的输入形式:<CR><CR>A)scanf(“%f ,%f ”,&f1,&f2);B)scanf(“%f%f ",&f1,&f2);C)scanf(“% % ”,&f1,&f2);D)scanf(“% % ”,&f1,&f2);9、读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果2main( ){int x,y,z; scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=8B、x+y+z=35C、x+y=35D、不确定值10、以下不正确的if语句形式是().A) if (x>y &&x! =y) B)if (x= =y) x+=y;C)if (x!=y) scanf(“%d”,&x); else scanf(“%d”,&y); D)if (x<y) {x++;y++;}11、设int a=12,则执行完语句a+=a-=a*a后,a的值是()A) 552 B) 264 C) 144 D) -26412、设a=5, b=6, c=7, d=8, m=2,n=2, 执行(m=a>b)&&(n=c>b) 后n的值为()A)1 B)2 C)3 D)413、逻辑运算符两侧运算对象的数据类型()。

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

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

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

1.C语言程序编译时,程序中的注释部份是()A.参加编译,并会出此刻目标程序中B.参加编译,但可不能出此刻目标程序中C.不参加编译,但会出此刻目标程序中D.不参加编译,也可不能出此刻目标程序中2.设int a=3;那么表达式a<1&&--a>1的运算结果和a的值别离是()A.0和2B.0和3C.1和2D.1和33.与语句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.1C.2D.36.结构化程序设计所规定的三种大体操纵结构是( )A) 输入、处置、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数7.完成C源文件编辑后、到生成执行文件,C语言处置系统必需执行的步骤依次为( )A.连接、编译B.编译、连接C.连接、运行D.运行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.下面程序段的运行结果是。

for(x=3; x<6; x++) printf((x%2)? (“**%d”):(“##%d\n”), x);A.**3B.##3C.##3D.**3##4**5 **4##5 ##4 **4 ##5 **52.。

下面程序的运行结果是#include<stdio.h>int main(){int i; for(i=1; i<=5; i++) switch(i%5) {case 0:printf(*);break; case 1: printf(#);break;default: printf(\); case 2: printf(&); } return 0;}#&&&*A. & # &*C.B#&. &* & *D.#& &的值x,y,zxyz+yzz=532中的3.下面程序的功能是求算式,请选择填空。

yzz分别表示一个三位数)(其中xyz和#include <stdio.h>int main( ){ int x,y,z,I,result=532;for(x=1;x<10;x++)for(y=1;y<10;y++)for( ; z<10; z++){ i=100*x+10*y+z+100*y+10*z+z;if ( )printf(“x=%d,y=%d,z=%d\n”,x,y,z);}return 0;}A1.z=x B1.z=1 C1.z=0 D1.z=y A2.i/result==1 B2.i=result C2.i!=result D2.i==result4.以下正确的描述是。

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

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

双姓名:______________序号:___________________成绩:_______一、选择题(每小题2分,共20分) 选择结果填在()里。

1.下列运算符中,优先级最低的是(C)。

A. %B.--C.+=D.&&2.字符串"54321"在内存占用字节数是(D)。

A. 3B.4C. 5D. 63.下列关于存储类的描述中,错误的是(B)。

A.变量和函数都具有存储类B.外部静态存储类比内部静态存储类寿命长C.变量的存储类给出了该变量的作用域和寿命D.自动存储类变量的寿命是短的4.下列关于变量值的描述中,错误的是(C)。

A.变量的值是可以被改变的B.定义变量时可以给变量赋初值,也可以不赋初值C.定义自动类变量时必须给出有效的变量值D.变量值与变量的地址值是两回事5.下列关于循环语句和开关语句的描述中,错误的是(B)。

A. 循环语句可以使用break语句退出B.continue语句只可用在循环体内C.开关语句的右花括号有退出该开关语句的功能D.开关语句中case子句的语句序列中一定要有break语句6.下列关于数组的描述中,错误的是(C)。

A. 一个数组的元素个数与该数组的每维大小都有关系B.同一个数组的所有元素的类型是相同的C.数组赋初值时是不判越界的D.数组元素可以用下标表示,也可以用指针表示7.下列关于指针的描述中,错误的是( D )。

A.整型指针是可以用浮点型变量地址值给它赋值的B.指向不同类型变量的指针所占内存空间的大小是相同的C.两个指针在一定条件下可以作比较和相减运算,不能作加法运算D.指针可以用作函数参数,实现传址调用8.下列关于函数的描述中,错误的是(A)。

A.函数体内至少有一条语句B.函数的定义不能嵌套C.函数可以没有参数,也可以没有返回值D.函数的定义和说明是两回事9.下列关于文件操作的描述中,错误的是()。

A.标准文件系统自动打开,一般文件要用函数打开B.标准文件的读写函数与一般文件的读写函数都是相同的C.C语言的文件能顺序读写,也能随机操作D.同时打开多个文件时,不同文件的文件指针是不相同的10.下列关于结构变量的描述中,错误的是()。

A.具有结构类型的变量称为结构变量B.结构数组的元素必须是同一个结构类型的若干成员C.结构变量可以作函数的返回值D.指向结构变量指针的成员用运算符*表示二、填空题(每空1分,共20分) (填写内容写在下划线上)1.单目运算符*的功能是。

已知:char a=’2’,*p=&a; 求表达式printf(“%c\n”,*p+3)的值为。

52.C语言程序中,变量的存储类型包括自动类、寄存器类、静态类,外部类四类。

3. continue语句只能用在____循环语句的循环______体中。

4. 循环语句有3种,除了do-while循环外,还有循环和循环。

5.已知:int i=3; int a=10; for(;i>=0;i--) a++; 执行该程序段后,i的值是__-1___,a的值是_______14__。

6. C语言中,数组元素的下标是从____0______开始的。

数组元素用___初始值表_______进行初始化。

7. 定义函数的参数称为__形______参。

函数调用时是用实参对形参进行___实参_________。

8. 指针的值是它所指向的变量的值,指针的类型是的类型。

指针可以赋值,也可以加减一个整型数,两个指针在一定条件下可以比较和__相减_____运算。

9. 指向一维数组的指针是__二_____级指针,指向二维数组元素的指针是____一___级指针。

10. 已知:FILE *f; 写出用f指向打开名为xy.txt的文件的语句,打开方式是先写后读。

语句为FILE *f = fopen("xy.txt", "wt+") 。

三、判断题(对者在题号前( )内画“√”,错者画“×”)(每小题1分,共20分)( V ) 1.C语言中,运算符++可以用于变量左侧,也可用于变量右侧。

( X ) 2.外部存储类变量定义时没有被初始化,则该变量的值是无意义的。

( v ) 3.用简单宏定义可以定义符号常量。

(V ) 4.运算符%可用于整型量,不可用于浮点型量。

( x ) 5.在传值调用中,实参与形参应该是个数相等,对应类型相同。

( X ) 6.C语言中,被调用函数的返回值要用return <表达式>;语句来实现。

( ) 7.数组名是一种指向该数组首元素的常量指针。

( x) 8.数组赋初值时不判越界。

( V ) 9.一维一级指针数组名字是二级指针的地址值。

( X ) 10.变量的作用域是与该变量的数据类型有关的。

( x ) 11. 已知:int a=0; while(!a){……} 该循环语句执行0次循环体。

(x ) 12. 表达式语句和表达式是一回事。

( x ) 13.内部静态变量与外部静态变量的区别在于它们的作用域相同和寿命不同。

( ) 14.C语言中,在函数体内必须要遵循说明语句写在执行语句之前的规定。

( ) 15.结构类型的名字与该结构类型的成员名字可以相同。

( ) 16.可以用字符指针表示它所指向字符串中的任意字符。

( ) 17. 文件指针与文件读写指针是不同的。

( ) 18.函数在调用之前都必须被说明,否则出现编译错。

( ) 19. C语言中,打开的文件不再使用时应及时用fclose()函数关闭( ) 20. C语言中,标准文件是没有文件指针的。

四、分析下列程序的输出结果(每小题4分,共24分)(结果请写在对应程序的右边)1.#include <stdio.h>void main(){int n=3;do {switch(n%2){case 0: n--;break;case 1: n++;case 2: n--;}printf("n=%d\n",n);}while(n-->0);printf("n=%d\n",n);}3 1 -1 -22.#include <stdio.h>void main(){int a,b,c;a=b=c=11;c--&&--b&&++a;printf("%d,%d,%d\n",a,b,c);a=b=c=5;a+=b-=c%=a+b-c;printf("%d,%d,%d\n",a,b,c);a=3;b=5;c=7;printf("%d\n",(a!=c)?a--:b++); }12,10,1010,5,03Press any key to continue3.#include <stdio.h>void f(int *p,int a[]){int i;for(i=1;i<4;i++)a[i]=2;*p=i;}void main(){int i=0,n=0,j,b[5];for(;i<5;i++)b[i]=3;f(&j,b);printf("%d\n",j);for(i=0;i<j;i++)n+=b[i];printf("%d\n",n);}4.#include <stdio.h>void main(){char s[]="abcde",*ps=s+3;for(;ps>=s;ps--)printf("%s\n",ps);ps=s+2;while(*++ps)printf("%c\n",*ps);}5.已知:xread.txt文件的内容是123ABCabc*#include <stdio.h>#include <stdlib.h>void main(){FILE *fp;void fun();if((fp=fopen("xread.txt","r"))==NULL){printf("Can not creat the file!\n");exit(1);}else{fun(fp);fclose(fp);}}void fun(FILE *fp1){char ch;while((ch=fgetc(fp1))!='*')putchar(ch+1);printf("\n");}6.#include <stdio.h>struct st{char name[50];int x[2];};void main(){int i;struct st s[]={{"张一",3,8},{"王二",2,9},{"李三",6,2},{"马四",7,6}};int a[4]={0};for(i=0;i<4;i++)a[i]=s[i].x[0]+s[i].x[1];for(i=0;i<4;i++)printf("%s: %d\n",s[i].name,a[i]);}张一: 11王二: 11李三: 8马四: 13五. 简单回答下列问题(每小题2分,共16分)1. 下列两条语句int dd=3,*pd=&dd;*pd=10;解释(1) 上条语句*pd=&dd;的功能是什么?(2) 下条语句*pd=10;的功能是什么?2.变量的作用域是由变量的什么决定的?变量占内存的字节数是由变量的什么决定的?3.在C语言中,函数体中可以没有任何语句吗?函数在被调用前,在什么情况下必须说明?4.定义数组的格式如下,<类型><数组名> [<大小>]=<初值表>;其中,必不可少的因素是哪两项?5. C语言中,函数可以没有返回值吗?函数可以没有参数吗?(回答可以或不可以)6. 指针的类型是如何规定的?字符指针可以用字符串常量进行初始化,也可以用字符串常量赋值吗?7. 文件操作中的文件指针实际上是指向什么的指针? 在一个程序中同时打开多个文件时,多个文件的文件指针是否相同(回答相同或不相同)?8.定义结构类型和定义结构变量是一回事么(回答是或否)?结构数组的元素可以是不同结构类型的结构变量么(回答可以或不可以)?。

相关文档
最新文档