C语言期中考试试题及答案-1
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语言期中考试试题及答案一、选择题(每题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语言期中考试题目及答案
一、选择题:【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语言大一期中考试试题及答案
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语言期中试卷(1)
华东师范大学期中试卷2010—2011学年第一学期课程名称:计算机语言及程序设计学生姓名:学号:专业:年级/班级:课程性质:专业必修一、问答题(每题2分,共10分)1. C语言和其他高级语言相比有何异同?2.表示算法的流程图,常用的有哪两种?3.写出与下列数学式子的对应C语言表达式?(1)a+b(2)ax2+bx+cc-d4.在C语言中如何表示一个逻辑表达式的真和假?值为零表示假,非零表示真。
5.写出for循环和do-while循环的区别?for 先判断再执行,while先执行后判断二、选择题(每题2分,共20分)6.C语言中的标识符只能由字母、数字和下划线三种字符组成,而且第一个字符 B 。
A. 必须为字母B. 必须不为数字C. 必须为下划线D. 可以是字母、数字和下划线中的任意一种字符7. 若有语句:int a=3,b=4,c=5;则以下能使表达式值为0的表达式是 D 。
A. a<=bB. a&&bC. b+c&&b-cD. ! (a<b&&c+5)8. 以下不是printf格式字符的是 A 。
A. DB. XC. ED. G9. 设int a=5; 有循环语句while(a--),则以下叙述正确的是 C 。
A. 因为a--不是条件表达式语法错误B. 程序会死循环C. 程序循环若干次后会正常结束D. 循环体中不能引用a值10. 设char a=‟C‟; 则以下哪个不能作为a的输出格式字符 D 。
A. %dB. %cC. %xD. %f11. 设float a=1.23;则以下哪个格式字符输出的结果其值不等于1.23 D 。
A. %gB. %eC. %fD. %o12. 以下哪个不是C语言中的关系运算符 B 。
A. >=B. =C. !=D. <13. 输入语句scanf和gets用于字符串输入时,下列说法中正确的是 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语言试题-1(含答案)
C语言试题2019.03一、单项选择题(共30分,每题1分)1.在PC机中,‘\n’在内存占用的字节数是()A.1 B.2 C. 3 D.42.字符串“ABC”在内存占用的字节数是()A.3 B. 4 C.6 D.83.在C语言中,合法的长整型常数是()A.0L B.4962710 C.0.054838743 D.2.1869 e104.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,25.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是()A.3 B.0 C.9 D.-126.设int k=32767;执行k=k+1;后k值为()最大值与最小值首尾相连A.32768 B.-32768 C.0 D.-17.下列正确的标识符是()A.hot_do B.a+b C.test! D.%y8.设int a=5,使b不为2的表达式是()A.b=6-(--a) B.b=a%2 C.b=a/2 D.b=a>3?2:19.执行x=(6*7%8+9)/5;后,x的值为()A.1 B.2 C.3 D.410.执行语句x=(a=3,b=a--)后,x,a,b的值依次为()A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,211.设a=-3;执行(a>0)?a:-a;后,a的值为()A.3 B.1 C.0 D.-312.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为()A.7 B.8 C.9 D.213.下面正确的字符常量是()A.”c” B.’\\’’ C.’W’ D. ‘’14.若有代数式3ae/bc,则不正确的c语言表达式是()A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*315.在C语言中,要求运算数必须是整型的运算符是()书中55页A./ B.++ C.!= D.%16.若有说明语句:char c=’\72’;则变量c ( )A.包含1个字符 B.包含2个字符C.包含3个字符 D.说明不合法,c值不确定17.sizeof (float)是()返回值为4。
C语言程序设计期中试卷(含答案)
C语⾔程序设计期中试卷(含答案)桂林电⼦科技⼤学信息科技学院试卷2008-2009 学年第 2 学期课号课程名称:C 语⾔程序设计(闭卷)适⽤班级(或年级、专业)通信、电⼦(本试卷包括第⼀卷和第⼆卷,答卷时间总共120分钟)第⼀卷说明:(1) 第⼀卷全部为选择题,每题可供选择的答案中,只有⼀个正确答案。
(2) 答本卷的题⽬时,要在标准答题纸上编写对应的栏⽬中,⽤铅笔在正确答案图⿊,在试题上直接勾划者不得分。
(3) 本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第⼀部分:基础知识(20题,共40分)1 以下叙述中正确的是A )C 语⾔的源程序不必通过编译就可以直接运⾏B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令 C )C 源程序经编译形成的⼆进制代码可以直接运⾏D )C 语⾔中的函数不可以单独进⾏编译 2 以下选项中合法的⽤户标识符是A) long B) _2Test C) 3Dmax D) A.dat3 已知⼤写字母A 的ASCII 码值是65,⼩写字母a 的ASCII 码是97,则⽤⼋进制表⽰的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) ⾮法的常量 4 以下⾮法的赋值语句是A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0; 5 设a 和b 均为double 型变量,且a=5.5、b=2.5,则表达式(int)a+b/b 的值是 A)6.500000 B) 6 C) 5.500000 D) 6.0000006 已知i 、j 、k 为int 型变量,若从键盘输⼊:1,2,3<回车>,使i 的值为1、j 的值为2、k 的值为3,以下选项中正确的输⼊语句是A) scanf("%2d%2d%2d ",&i,&j,&k); B) scanf("%d %d %d ",&i,&j,&k); C) scanf("%d,%d,%d ",&i,&j,&k); D)scanf("i=%d,j=%d,k=%d ",&i,&j,&k);7设有定义:float a=2,b=4,h=3;,以下C 语⾔表达式与代数式计算结果不相符的是A) (a+b) *h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b)h b a )(218与数学式⼦123-x nx对应的C 语⾔表达式是A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)9 设有定义:long x=-123456L ;,则以下能够正确输出变量x 值的语句是A) printf("x=%d\n ",x); B) printf("x=%1d\n ",x); C) printf("x=%8dL\n ",x); D) printf("x=%LD\n ",x); 10 若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k); printf("%d,%d\n ",m,i); }执⾏后的输出结果是A) 8,6 B) 8,3 C) 6,4 D) 7,4 11 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 1 12 以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1 13 下列关于单⽬运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char 型变量和int 型变量,但不能是float 型变量 C) 它们的运算对象可以是int 型变量,但不能是double 型变量和float 型变量 D) 它们的运算对象可以是char 型变量、int 型变量和float 型变量 14 若有以下程序段(n 所赋的是⼋进制数)int m=32767,n=032767; printf("%d,%o\n ",m,n); 执⾏后输出结果是A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 15 C 语⾔中⽤于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if 、switch 、break C) for 、while 、do-while D) if 、for 、continue16 有⼀函数,0x 0x 0x 101y <=>-=,以下程序段中不能根据x值正确计算出y值的是A) if(x>0) y=1; B) y=0;else if(x==0) y=0; if(x>0) y=1;else y=-1; else if(x<0) y=-1;C) y=0; D) if(x>=0)if(x>=0) if(x>0) y=1; if(x>0) y=1; else y=0; else y=-1; else y=-1;int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输⼊:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,018 有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=aprintf("%d,%d\n",k,m);}程序运⾏后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,119 有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下⾯四组输⼊形式中,错误的是A) 11 12<回车> B) 11, 12<回车> C) 11,12<回车> D) 11,<回车>12<回车>20 设有如下程序段:int x=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运⾏时产⽣出错信息C) 输出值为2002D) 输出值为2003⼆第⼆部分:简单程序(12题,21-26题每题2分,27-32题每题3分,共30分)21 有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}执⾏后输出结果是A) 011122 B) 012 C) 012020 D) 120{ int i=1,j=1,k=2;if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执⾏后输出结果是A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,323 有以下程序{ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\017";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确 B) b='\xbc';语句不正确C) d="\017";语句不正确 D) a='\';和c='\0xab';语句都不正确24 以下程序段中与语句k=a>b?(b>c?1:0):0; 功能等价的是A) if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1;else k=0; else k=0;C) if(a<=b) k=0; D) if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;25 有以下程序main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执⾏后输出结果是A) 2 B) 3 C) 4 D) 编译时有错,⽆结果26 有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j); }执⾏后输出结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1{ int i=0,s=0;do{ if(i%2) { i++; continue; }s+=i;} while(i<7);printf("%d\n",s);}执⾏后输出结果是A) 16 B) 12 C) 28 D) 2128 有以下程序main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执⾏后的输出结果是A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-529 有以下程序main(){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}程序执⾏后的输出结果是A) ⾃然数1~9的累加和 B) ⾃然数1~10的累加和C) ⾃然数1~9中的奇数之和 D) ⾃然数1~10中的偶数之和30 有以下程序main(){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;}while(!i);n++;}printf("n=%d\n",n);程序执⾏后的输出结果是A) n=5 B) n=2 C) n=3 D) n=431 要求以下程序的功能是计算:10131211++++= s main (){ int n; float s; s=1.0;for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n ",s); }程序运⾏后输出结果错误,导致错误结果的程序⾏是A) s=1.0; B) for(n=10;n>1;n--) C) s=s+1/n; D) printf("%6.4f/n ",s); 32 有以下程序段int n=0,p;do { scanf("%d ",&p); n++; } while(p!=12345 && n<3); 此处do —while 循环的结束条件是A) p 的值不等于12345并且n 的值⼩于3 B) p 的值等于12345并且n 的值⼤于等于3 C) p 的值不等于12345或者n 的值⼩于3 D) p 的值等于12345或者n 的值⼤于等于3第⼆卷说明:(1) 第⼆卷含5⼤题,均属填空题,总共有10个空栏,在阅读和理解原题程序的基础上,在空栏处填⼊适当的字符、语句,以构成⼀个正确的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语言测试题及答案(1)(1)
一.选择题1.int i=10;float x; 执行x=5/i; 后x的值为 __C______。
A.0.5 B.0 C.0.0 D.1.02. 以下标识符中,哪一个是C语言的合法标识符 CA) 2abcd B)int C)a-2c D)_char E)#456xy3. 以下 C 是不正确的转义字符:A) '\n' B)’\’’C)'061' D)'\0'4.执行下面的程序后# include<stdio.h># define SQR(X) (X) * (X)void main (){ int a=10,K=2,m=1;a /= SQR(K+m) / SQR(K+m);printf(”a=%d”,a);}输出结果是a=__B_____。
A.10 B.1 C.9 D.05. 现有定义char str1[]="China",str2[5]={'C','h','i','l','e'};则有AA)strcmp(str1,str2)>0B)strcmp(str1,str2)<0C)strlen(str1)=6D)str1与str2所占存储空间大小一样6.有以下的结构体变量定义语句:struct student { int num; char name[9]; } stu;则下列叙述中错误的是B 。
A.结构体类型名为student B.结构体类型名为stuC.num是结构体成员名 D.struct是C的关键字7. 执行以下程序:# include<stdio.h>void main (void){char c=0;printf(“%c\n”,c);}输出结果是 _D_______。
A.‘\0’ B.语法错,不能执行 C.0 D.一个空行8.C语言对嵌套 if 语句的规定是: else 总是和 D 配对A)其之前最近的 if B) 缩进位置相同的 ifC)第一个 if D) 其之前最近且不带 else 的 if9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是 BA. opera=(enum aa)2B. scanf(“%d”,&opera)C. opera=add+1D. if(opera==sub)print(”OK”);10. 下列宏定义命令中,哪一个格式是正确的___D_____A.#define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)11.以下不正确的描述是 AA)在 switch 语句中使用 break 语句或continue语句的作用相同B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,x的值为:A 。
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语言期中考试题目及答案
一、选择题:【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语言期中考试试题及答案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的定义形式为____________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计试题
答案在最后
一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出得四个选项中只有一个
选项就是符合题目要求得,请将正确选项前得字母填在题后得括号内。
1、C语言程序编译时,程序中得注释部分就是( )
A、参加编译,并会出现在目标程序中
B、参加编译,但不会出现在目标程序中
C、不参加编译,但会出现在目标程序中
D、不参加编译,也不会出现在目标程序中
2、设int a=3;则表达式a<1&&--a>1得运算结果与a得值分别就是( )
A、0与2
B、0与3
C、1与2
D、1与3
3、与语句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=97
B、x=97,y=a
C、x=97,y=97
D、x=a,y=a
5、执行下列程序
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、0
B、1
C、2
D、3
6、结构化程序设计所规定得三种基本控制结构就是( )
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,13
B、12,10
C、22,10
D、12,13
10、下列各语句定义了数组,其中一个不正确得就是( )
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得定义形式为____________。
12、表达式!10!=1得值就是____________。
13、“20<x≤30”得C语言表达式就是____________。
14、表达式a=1,a+=1,a+1,a++得值就是____________。
15、设int i = 5;则循环语句while(i>=1)i--;执行后,i得值为____________。
16、设char string[]="This_is_a_book!";则数组得长度应就是____________。
17、计算a、b中最小值得条件表达式为______。
18、判断变量a、b得值均不为0得C表达式为______。
19、执行语句“a=5+(c=6);”后,变量a、c得值依次为______。
20、整型变量x得值为23,语句“printf(″%o\\n″,x);”得输出结果为______。
三、程序分析题(本大题共3小题,每小题6分,共18分)阅读下列程序,将输出结果写到各题右
侧得划线处
21、# define N 7
main()
{int i,j,temp,a[N]={1,2,3,4,5,6,7};
for(i=0;i<N/2;i++)
{j=N-1-i;
temp=a[i];a[i]=a[j];a[j]=temp;
}
for(i=0;i<N;i++)printf("%5d",a[i]);
}
输出结果:_____ _
22、#include <stdio、h>
void main() 输出结果:______
{ int i; ______
for (i=1;i<5;i++) printf(″%d\t%c\n″,i,'A'+i); ______
} ______
23、#include <stdio、h>
void main()
{ int i,j,a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++) a[i][j]=1+i-j;
for(i=0;i<4;i++) {
for(j=0;j<4;j++) 输出结果:______
if(a[i][j]>0) printf(″%3d″,a[i][j]); ______
putchar('\n'); ______
} ______
}
四、程序填充题(本大题共2小题,每小题6分,共12分)给出下列程序,将横线处缺少得部分补
上,使其能正确运行。
24、输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白与其它字符
出现得次数。
# include“stdio、h"
main()
{ char c;
Int _____________;
while((c=getchar())!='\n')
{
if(________________) digit++;
else if(c==''||c=='\t') ++blank;
else____________;
}
printf("digit=%d,blank=%d,other=%d\n",digit,blank,other);
}
25、先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等得元素并将其
下标输出,若不存在这样得元素,则输出“Not found!”标志。
main()
{ int i,x,a[10];
for(i=0;i<10;i++) scanf("%d",___);
scanf("%d",&x);
printf("%d",x);
for(i=0;i<10;i++) if(____________) break;
if(i___10) printf(“position:%d\n”,i);
else printf(" Not found! \n",x);
}
五、五、程序设计题(26小题14分,27\28小题10分,共34分)。
26编程,先输入n,再输入n个实数并分别统计正数得与、负数得与,然后输出统计结果。
27、求出10至1000之内能同时被2、3、7整除得数,并输出。
28、求1到100之间得奇数之与及偶数之与,并将二者输出。
1、
高级语言程序设计试题参考答案
一、单项选择题(本大题共20小题,每小题2分,共20分)
1、D
2、B
3、A
4、D
5、D
6、C
7、B
8、C
9、A 10、B
二、填空题(本大题共10小题,每小题2分,共20分)
11、double a=0、618
12、1
13、x>20&&x<=30或者(x>20)&&(x<=30)
14、2
15、0
16、16
17、a<b? a:b
18、a*b!=0 或a*b
19、11,6
20、27\n
三、程序分析题(本大题共5小题,每小题5分,共25分)
21、7 6 5 4 3 2 1
22、1 B
2 C
3 D
4 E
23、1
2 1
3 2 1
4 3 2 1
四、程序填充题(本大题共3小题,每小题6分,共18分)
24、(1)digit=0,blank=0,other=0
(2)c>='0'&&c<='9'
(3)++other或者other++
25、(1)&a[i]或者a+i
(2)x==a[i]
(3)<
五、程序设计题
略。