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

合集下载

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

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

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

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语言期中测验试题及答案
int main()
{
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语言大一期中考试试题及答案

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期中考试(含答案)

计算机基础(二)期中考试卷(含答案)一、选择题(1-15题每题2分,16-25题每题3分,共60分)(1)下列常数中不能作为C语言常量的是【B】A)0xabc B)2.5e-0.2 C)32 D)0747 (2)下列可用于C用户标识符的一组是【B】A)void, define, WORD B)a3_b3, _123, CarC)For, -abc, IFCase D)2a, DO, sizeof(3)C语言中运算对象必须是整型的运算符是【A】A)%= B)/ C)= D)<=(4)已知int x=10, y=3;则执行该语句printf("%d,%d\n",x--,--y);的输出结果是【D】A)10,3 B)9,3 C)9,2 D)10,2(5)short型的数据长度为2个字节,则unsigned short 类型数据的取值范围是【C】A)-127~128 B)0~255 C)0~65535 D)0~32768 (6)已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z 的值为【B】A)0 B)1 C)4 D)5(7)已知int x=5,y=3;则表达式(x||y)&&78的结果为【A】A)1 B)0 C)5 D)78(8)已知int x=1,y=1;表达式(!x||y--)的值是【B】A)0 B)1 C)2 D)-1(9)已知int i,j;则内循环体的执行次数是【C】for(i=6;i;i--)for(j=0;j<5;j++);A)40 B)35 C)30 D)25(10)已知int x,i,j,k;则计算表达式x=(i=4,j=16,k=32)后,x的值为【C】A)4 B)16 C)32 D)52(11)下列程序段执行后,x的值为【D】int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');A)ture B)false C)0 D)1(12)下列表达式中,结果为5的是【B】A)6*5%6 B)5*-2+15 C)5+75%10 D)6+-2/3 (13)已知int k=10;则下列程序的输出结果为【B】do{printf("%d",k--);}while(!k);A)9 B)10 C)10987654321 D)没有输出(14)对以下程序段的描述,正确的是【C】x=-1;do{x=x*x;}while(!x);A)是死循环 B)循环体执行两次C)循环体执行一次 D)有语法错误(15)已知int i,j;则for(i=j=0; i<10&&j<8; i++,j+=3);控制的循环体执行的次数是【C】A)9 B)8 C)3 D)2(16)以下程序输出结果是【A】#include <stdio.h>int main(void){int a=10,b=50,c=30;a=a>30?1:2;b=b>30?1:2;c=c>30?1:2;printf("%d,%d,%d\n",a,b,c);return 0;}A)2,1,2 B)1,2,1 C)1,1,2 D)2,1,1 (17)下列程序的输出结果是【D】#include <stdio.h>int main(void){int a=45,b=40,c=50,d;d=a>30?b:c;switch(d){case 30: printf("%d,",a);case 40: printf("%d,",b);case 50: printf("%d,",c);default: printf("#");}return 0;}A)40,50 B)50,# C)40,# D)40,50,# (18)下列程序的输出结果是【B】#include <stdio.h>int main(void){int a=10,b=10,k;for(k=0;a>8;b=++k)printf("%d,%d,",a--,--b);return 0;}A)10,9,9,8, B)10,9,9,0,C)10,10,9,1, D)9,9,9,1,(19)下列程序的输出结果是【B】#include <stdio.h>int main(void){int a,b,m;for(a=5;a>=1;a--)for(m=0,b=a;b<=5;b++)m=m+a*b;printf("%d\n",m);return 0;}A)30 B)15 C)20 D)1(20)下列程序的输出结果是【A】#include <stdio.h>int main(void){char c;c=('z'-'a')/2+'A';putchar(c);return 0;}A)M B)N C)O D)Q(21)下列程序的输出结果是【D】#include <stdio.h>int main(void){int k=8;switch(k){case 9:k+=1;case 10:k+=1;case 11:k+=1;break;default:k+=1;}printf("%d\n",k);return 0;}A)12 B)11 C)10 D)9(22)下列程序的输出结果是【B】#include <stdio.h>int main(void){int i=6;while(i--)printf("%d",--i);printf("\n");return 0;}A)531 B)420 C)654321 D)死循环(23)下列程序的输出结果是【C】#include <stdio.h>int main(void){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);return 0;}A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 (24)下列程序的输出结果是【C】#include <stdio.h>int main(void){float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf("%.2f\n",y);return 0;}A)0.00 B)0.25 C)0.50 D)1.00(25)执行下列程序从键盘上输入5,2,则输出结果是【C】#include <stdio.h>int main(void){int a,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b) k=a%b;else k=b%a;printf("%d\n",k);return 0;}A)5 B)3 C)2 D)0二、编程题(每题10分,共40分)(1)用户输入圆柱体半径r和高h,输出其体积V,要求输出结果小数点后保留2位有效数字。

c程序设计期中试题及答案

c程序设计期中试题及答案

c程序设计期中试题及答案一、选择题1. C语言中,下列哪个关键字可以声明常量?A. constB. staticC. externD. volatile答案:A. const2. 下列关于指针的说法中,错误的是?A. 指针保存的是变量的地址B. 指针变量必须在使用之前初始化C. 指针可以指向一个函数D. 指针占用的内存空间和指针指向的数据类型有关答案:B. 指针变量必须在使用之前初始化3. 下列循环结构中,哪个语句是用于结束当前循环,进入下一轮循环的?A. breakB. continueD. goto答案:B. continue4. 下列C语言中的标准库函数中,不属于输入输出函数的是?A. printf()B. scanf()C. gets()D. malloc()答案:D. malloc()5. C语言中,以下哪个运算符的优先级最高?A. =B. &&C. *D. ?:答案:D. ?:二、填空题1. 编写一个函数,判断一个数是否为质数。

函数原型为:int isPrime(int num);```cint isPrime(int num) {int i;if (num <= 1) {return 0;}for (i = 2; i < num; i++) {if (num % i == 0) {return 0;}}return 1;}```2. 填写以下代码的输出结果:```c#include <stdio.h>int main() {char str[] = "Hello";printf("%d\n", sizeof(str));printf("%d\n", strlen(str));return 0;}```答案:85三、编程题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语言期中测试(解压缩后运行examstar.exe,密码426008)一、单项选择题(30分,每题3分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。

1.一个C语言程序执行时总是从【______】开始。

DA. 主程序B. 子程序C. 函数D. 主函数2.下列标识符中,_______是关键字。

CA)Int B)INTC)int D)printf3.下列用户自定义标识符中,_______是正确的。

BA)long B)LongC)data.1 D)while4.以下能正确定义整型变量a、b、c的是_______。

BA)a,b,c; B)int a, b, c;C)float a, b, c; D)int a; b; c;5.下面正确的输入语句是______。

BA)scanf("a=b=%d",&a,&d); B)scanf("%d,%f",&a,&b);C)scanf("%a", a); D)scanf("%f", f);6.下面程序的输出结果是【______】。

B#include "stdio.h"void main(void){int i,sum1=0,sum2=0;for(i=1;i<10; i++)if( i%2==0 ) sum1+=i;else sum2+=i;printf("%d%d\n",sum1,sum2);}A. 5050B. 2025C. 20D. 257.下面程序的输出结果是【______】。

CA. YesB. NoC. NoYesD. YesNovoid main(void){char str[]="stdiopidts";int i, n=0;while(str[n])n++;for(i=0;i<n/2;i++)if(str[i]!=str[n-1-i]){printf("No");break;}printf("Yes");}8.完善程序求输入的十个整数中正数的个数及其和、平均值:【______】。

C语言期中机考试卷及答案

C语言期中机考试卷及答案

C语言期中测试(解压缩后运行examstar.exe,密码426008)一、单项选择题(30分,每题3分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。

1.一个C语言程序执行时总是从【______】开始。

DA. 主程序B. 子程序C. 函数D. 主函数2.下列标识符中,_______是关键字。

CA)Int B)INTC)int D)printf3.下列用户自定义标识符中,_______是正确的。

BA)long B)LongC)data.1 D)while4.以下能正确定义整型变量a、b、c的是_______。

BA)a,b,c; B)int a, b, c;C)float a, b, c; D)int a; b; c;5.下面正确的输入语句是______。

BA)scanf("a=b=%d",&a,&d); B)scanf("%d,%f",&a,&b);C)scanf("%a", a); D)scanf("%f", f);6.下面程序的输出结果是【______】。

B#include "stdio.h"void main(void){int i,sum1=0,sum2=0;for(i=1;i<10; i++)if( i%2==0 ) sum1+=i;else sum2+=i;printf("%d%d\n",sum1,sum2);}A. 5050B. 2025C. 20D. 257.下面程序的输出结果是【______】。

CA. YesB. NoC. NoYesD. YesNo #include "stdio.h"void main(void){char str[]="stdiopidts";int i, n=0;while(str[n])n++;for(i=0;i<n/2;i++)if(str[i]!=str[n-1-i]){printf("No");break;}printf("Yes");}8.完善程序求输入的十个整数中正数的个数及其和、平均值:【______】。

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 的值为。

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

一、填空
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。

相关文档
最新文档