C语言期中测试题(含答案)
c语言期中试卷及参考答案

c语言期中试卷及参考答案上海工程技术大学2011.5一、选择题(本题共15小题,每小题2分,共30分)1.下列字符串能作为变量名的是()A)3int B)float C)_2xy D)break参考答案C 2.以下选项中可作为C语言合法整数的是()A)1010B B)0287 C)0x02h3 D)0x0ffa参考答案D 3.下列正确的C语句是()A)x=2 B)scanf(“%d”,x); C)int x; D)printf(“%a”,a);参考答案C4. 下列正确的C语句是()A)if(x=2) y=x; B)if(x!=2) y=3; C)if(x≥2) y=x;D)if(x≦2)y=3;参考答案B5.下列不正确的C语句是()A)char y=x=2; B)x=y=3; C)y=(x-2); D)y=x>=3;参考答案A6.ch为字符型变量, 则能将字符a赋给变量ch的语句是()A) ch="a";B) ch='a'C)ch="97"; D) ch=97;参考答案D7.下列运算优先级顺序描述正确的是()A)关系运算高于算术运算B)赋值运算高于关系运算C)逻辑非的运算优先级别最高D) 赋值运算高于逻辑运算参考答案C8.循环体内的continue语句的作用是()A)结束本次循环进行下次循环B)继续执行循环体中后面的语句C)跳出本层循环D)跳出所有的循环参考答案A9.设x为整型变量,x=10,则执行语句x+=x-=x-x;后,x的值是( )A)10 B)20 C)30 D)40参考答案B10.下列能正确判断字符变量ch是否为数字字符的C语言表达式是( )A)’0’<=ch>=’9’B)’0’< ch>’9’C) ch>=’0’&&ch<=’9’D) ch>=’0’&ch<=’9’参考答案C11.设数组a是10个元素的一维整型数组,n=10,正确的说明语句是()A) char a[10];B) int a[ ]={1,2};C) int a[10];D) int a[n];参考答案C12.设整型变量c=8;语句printf(“%d,%d”,c++,++c)的执行结果是( )A)8,10 B)9,9 C)8,9 D)9,10参考答案B13.设整型变量x=1,y=2,z=3;表达式x= =(y>=z)的值是( )A)1 B)0 C)2 D)3参考答案B14.设数组a是10个元素的一维整型数组,下列错误的语句是()A)a[10]=9;B) int a[10]={1,2};C)printf(“%d”,a[0]);D) int a[10];参考答案A 15.以下能对数组a进行正确初始化的语句是()A)int a[2][3]={{1,2},{ },{5,6}}; B) int a[ ][ ]={{1,2},{3,4},{5,6}};C) int a[ ][2]={{1,2},{3,4},{5,6}}; D) int a[3][1]={{1,2},{3,4},{5,6}};参考答案C二、填充题(本题共10小题,每小题2分,共20分)1.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语言》课程期中考试试卷一. 在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×10分〕1.在C语言中,一个double型所占字节数为8。
2.strcat的作用是连接两个字符数组中的字符串。
3.在求C语言的表达式时,只需考虑运算符的优先级。
4.在标准C中,变量必须先定义后使用。
5.逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。
6.在标准C中,以“%〞形式输出的数字共有10位。
7.C语言不直接提供输入输出函数8.一个C程序可以有假设干个C源程序组成,而C源程序可以由假设干个函数和预处理组成。
9.C语言中用于构造化程序设计的三种根本构造是顺序构造、选择构造、循环构造。
10.在标准C中,赋值表达式可以出现在表达式的任何位置。
二、选择题〔2×10分〕第1题:假定a和b为int型变量,那么执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8第2题:以下表达不正确的选项是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的根本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第3题:假设有以下说明,那么数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d;A、a[d-c]B、a[4]C、a['d'-'c']D、a['d'-c]第4题:下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来第5题:以下符号中,不属于转义字符的是第6题:以下程序的输出结果是# include <># include <>void main(){char str[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}A、6B、7C、12D、13第7题:以下符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day第8题:以下选项中,不属于C语言关键字的是A、ifB、printfC、sizeofD、for第9题:循环for(i=1,j=6; ++i!=--j; ) s=i+j; 将执行A、2次B、3次C、4次D、以上均不是第10题:一个C语言程序是由A、一个主程序和假设干子程序组成B、函数组成C、假设干过程组成D、假设干子程序组成三、程序填空题〔2×10分〕第1题:用π/4≈1 - 1/3 + 1/5 - 1/7 + ……公式求π的近似值。
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语言期中考试题及答案一、选择题(每题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语言期中测验试题及答案

{
int a,b,temp;
scanf("%d%d",&a,&b);
temp=a*a+b*b;
if(temp>100)
printf("%d",temp/100);
else
printf("%d",a+b );
return 0;
}
25.编写程序实现:输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数7时(注意:n不得大于10),程序运行结果如下:
printf("D(60-69):%d\n",D);
printf("E(0-59):%d\n",E);
return 0;
}
scanf(“%d”, m);
for(i=2;i<=m; i++) y-=1.0/i*i;
printf( “the result is: %f\n”, y );
return 0;
}
修改为:
#include<stdio.h>
int main()
{ int m, i;
double y=1.0;
scanf("%d",&m);
C.if(a>b)c=a;a=b;b=c;D.if(a>b){c=a;a=b;b=c;}
12.以下选项中,能用作用户标示符的是C
A.viodB.8_8C._0_D.unsigned
11.有输入语句:int a,b,c; scanf("a=%d,b=%d,c=%d", &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是(注:#表示空格)D
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语言中,使用____关键字可以定义一个全局变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言期中测试题(含答案)
一、填空
1.C语言源程序文件的后缀是.c 。
2.结构化程序由顺序结构、选择结构、循环结构三种基本结构组成。
3.在C语言中,用关键字int 定义基本整型变量,一个基本整型变量系统分配 2 字节,用关键字float定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字double 定义双精度实型变量,一个双精度实型变量系统分配8 字节。
二、选择
1.以下选项中正确的实型常量是( A )
A.12. B.-20 C.1,000 D.4 5 6
2.以下选项中不正确的实型常量是(无正确答案)
A. 2.607E-1 B.0.8103e2 C.-77.77 D.456e-2
3.以下选项中不合法的用户标示符是( C )
A. _123 B.A12_1 C.A
$ D.Dim
4.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+b 6.下面合法的赋值语句是( C )
A.a=b=58 B.k=int(a+b) C.a=58,b=58 D.--i
7.若变量已正确定义为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=a D.t=b;b=a;a=t;
9.若有正确定义语句:
double x=5.16894;
语句printf(“%f\n”,(int)(x*1000+0.5)/(double)1000);的输出结果是( D )
A.输出格式说明与输出项不匹配,输出无定值B.5.170000
C. 5.168000!
D.5.169000
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,-10 B.0,0,5
C.-10,3,-10 D.3,0,3 11.下列运算符中优先级别最高的是( 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; else c+=1; printf(“%d\n ”,c);
}
程序的运行结果是( C )
A.0 B.1 C.2 D.3 15.有以下程序:
#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.4
16.有以下程序:
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 .20 17.有以下程序段:
y=-1; if(x!=0) if(x>0) y=1;
else y=0;
其能正确表示的数学函数关系是( C )
A .⎪⎩⎪
⎨⎧>=<-=)0(1)
0(0)
0(1x x x y B .⎪⎩⎪
⎨⎧>=-<=)0(0)0(1)0(1x x x y C .
⎪⎩
⎪
⎨⎧>=-<=)0(1)0(1)0(0x x x y D .
⎪⎩
⎪
⎨⎧>=<-=)0(0)
0(1)0(1x x x y
18.若有定义语句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.9 B.1 C.11 D.10
20.有以下程序段:
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.12 B.15 C.20 D.25 21.有以下程序段:
int n=10;
while(n>7)
{ n--;
printf(“%d\n”,n);
}
程序段的输出结果是( B )
A.10 B.9 C.10 D.9
9 8 9 8
8 7 8 7
7 6 22.有以下程序段:
int x=3;
do
printf(“%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.0 24.有以下程序:
#include<stdio.h>
main()
{int i;
for(i=1;i<=5;i++)
{
if(i%2)
printf(“*”);
else
continue;
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。