上海海事大学c语言试题2
- 格式:doc
- 大小:66.50 KB
- 文档页数:11
试卷编号:9688所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:528设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【1】.答案:=======(答案1)=======28第2题(1.0分)题号:78已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】.答案:=======(答案1)=======15第3题(1.0分)题号:510若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】.答案:=======(答案1)=======2第4题(1.0分)题号:437以下程序的输出结果为【1】, #include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}答案:=======(答案1)=======9,10第5题(1.0分)题号:431执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2);答案:=======(答案1)=======97 b第6题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第7题(1.0分)题号:440设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:95已知a=13,b=6, a&&b的十进制数值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:306当a=1,b=2,c=3时,执行以下程序段后b=【1】.if (a>c) b=a;a=c;c=b;答案:=======(答案1)=======2第10题(1.0分)题号:532以下do-while语句中循环体的执行次数是【1】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);答案:=======(答案1)======= 3第11题(1.0分)题号:398程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案:=======(答案1)=======第12题(1.0分)题号:438以下程序的输出结果为【1】,#include "stdio.h" main(){inta;for(a=0;a<10;a++);printf("%d",a);}答案:=======(答案1)=======10第13题(1.0分)题号:336若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最大的元素的下标值是【1】.答案:=======(答案1)=======2第14题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6第15题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======二、判断共15题(共计15分)第1题(1.0分)题号:940int a[9]; 则a数组的下标范围是1-9答案:N第2题(1.0分)题号:935在C程序中,%是只能用于整数运算的运算符答案:Y第3题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int<=float<double答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;floatf;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:961C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y第6题(1.0分)题号:721语句scanf("%7.2f",&a);是一个合法的scanf函数.答案:N第7题(1.0分)题号:951在执行switch语句时,default和各个case 的出现次序不影响执行结果.答案:Y第8题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第9题(1.0分)题号:930关于if语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第10题(1.0分)题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第11题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:941在定义二维数组时,可以将该数组的两个维数全部省略答案:N第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2056以下程序的输出结果是().main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i);}A:x=3.600000,i=4B:x=3,i=3C:x=3.600000,i=3D:x=3 i=3.600000答案:C第2题(2.0分)题号:2214在C语言中,char型数据在内存中的存储形式是(). A:补码B:反码C:原码D:ASCII码答案:D第3题(2.0分)题号:2174C语言程序中必须有的函数是().A:#include "stdio.h"B:mainC:printfD:scanf答案:B第4题(2.0分)题号:2040若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch); printf("k=%%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%12D:61,141,k=%d答案:C第5题(2.0分)题号:2049以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A:11,10B:9,10C:010,9D:10,9答案:B第6题(2.0分)题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread()答案:A第7题(2.0分)题号:2045若给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第8题(2.0分)题号:2144int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第9题(2.0分)题号:2122下列程序的输出结果是(). main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case0:a++;break;case1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第10题(2.0分)题号:2050C 语言中以下几种运算符的优先次序()的排列是正确的.A:由高到低为:!,&&,||,算术运算符,赋值运算符B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符C:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||D:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符答案:B第11题(2.0分)题号:2263以下不正确的if语句形式是().A:if(x>y&&x!=y);B:if(x==y) x+=y;C:if(x!=y) scanf("%d",&x) elsescanf("%d",&y);D:if(x<y) {x++;y++;}答案:C第12题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第13题(2.0分)题号:2061在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是().A:(!E==0)B:(E>0||E<0) C:(E==0)D:(E!=0)答案:C第14题(2.0分)题号:2058以下程序的运行结果是().main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A:i=10,sum=9B:i=9,sum=9C:i=2,sum=1D:运行出现错误答案:D第15题(2.0分)题号:2068设j和k都是int类型,则for循环语句for(j=0,k=-1;k=1;j++,k++)printf("****\n");().A:循环结束的条件不合法B:是无限循环C:循环体一次也不执行D:循环体只执行一次答案:B第16题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第17题(2.0分)题号:2278以下能对一维数组a进行正确初始化的语句是().A:int a[10]=(0,0,0,0,0)B:int a[10]={};C:int a[]={0};D:int a[10]={10*1};答案:C第18题(2.0分)题号:2284若有说明: int a[3][4]={0};则下面正确的叙述是().A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第19题(2.0分)题号:2256printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式().A:从左起输出该字符串,右补空格B:按原字符长从左向右全部输出C:右对齐输出该字串,左补空格D:输出错误信息答案:B第20题(2.0分)题号:2275以下对二维数组a的正确说明是().A:int a[3][]B:float a(3,4)C:double a[1][4]D:float a(3)(4) 答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:427/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?-------------------------------------------------------*/#include <stdio.h>main(){int cocks,hens,chicks;cocks=0;while(cocks<=19)/***********SPACE***********/{【?】=0;/***********SPACE***********/while(hens<=【?】){chicks=100.0-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0==100.0 )printf("%d,%d,%d\n",cocks,hens,chicks); /***********SPACE***********/【?】;}/***********SPACE***********/【?】;};}答案:=======(答案1)=======hens=======(答案2)=======33=======(答案3)=======hens++=========或=========++hens=========或=========hens=hens+1=======(答案4)=======cocks++=========或=========++cocks=========或=========cocks=cocks+1=========或=========cocks= cocks + 1第2题(6.0分)题号:459/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
2019年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10)case 6: printf("@");break;case 5: printf("#");default: printf("$");答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
大二c语言考试题及答案解析大二C语言考试题及答案解析1. 选择题- 1.1 以下哪个选项是C语言中的合法变量名?- A. 2variable- B. variable2- C. variable-2- D. variable$2- 答案:B- 解析:在C语言中,变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但不能包含特殊字符如$。
- 1.2 C语言中,以下哪个关键字用于定义函数?- A. int- B. return- C. void- D. function- 答案:A- 解析: `int` 是用于定义函数返回类型为整型的关键字。
`void` 用于定义没有返回值的函数,而 `function` 不是C语言的关键字。
2. 填空题- 2.1 写出C语言中声明一个整型数组的语句。
- 答案: `int array[10];`- 解析:此语句声明了一个名为 `array` 的整型数组,包含10个元素。
- 2.2 写出一个C语言函数的原型,该函数接受两个整型参数并返回一个整型值。
- 答案: `int add(int a, int b);`- 解析:此函数原型声明了一个名为 `add` 的函数,它接受两个整型参数 `a` 和 `b`,并返回一个整型值。
3. 简答题- 3.1 解释C语言中指针的概念。
- 答案:指针是指向变量内存地址的变量。
它存储了变量在内存中的地址,而不是变量的值。
通过指针,可以间接访问和修改变量的值。
- 解析:指针在C语言中非常重要,它们允许更灵活的数据操作,如动态内存分配和数组处理。
- 3.2 描述C语言中结构体的用途。
- 答案:结构体是一种数据类型,它可以组合不同类型和数量的数据项。
它允许将相关的数据项组织在一起,便于管理和使用。
- 解析:结构体在C语言中用于创建复杂的数据类型,它们可以包含不同类型的数据,如整数、浮点数、字符、指针等。
4. 编程题- 4.1 编写一个C语言程序,实现两个整数的交换。
二级c语言编程技巧与实例解析网课考试答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B2. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. &答案:A3. 若有定义`int a = 10;`,则表达式`a++`的值是多少?A. 9B. 10C. 11D. 无法确定答案:B4. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项是正确的C语言数组声明?A. int array[];B. int array[10];C. int array = 10;D. int array(10);答案:B6. C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strlength()C. length()D. strsize()答案:A7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. typeC. classD. union答案:A8. C语言中,以下哪个运算符用于取模运算?A. %B. /C. //D. mod答案:A9. 在C语言中,以下哪个函数用于打开文件?A. fopen()B. open()C. fileopen()D. file()答案:A10. 若有定义`int x = 5;`,则表达式`x % 2`的值是多少?A. 0B. 1C. 2D. 3答案:B二、多项选择题(每题3分,共15分)1. 在C语言中,以下哪些关键字用于控制流程?A. ifB. switchC. forD. while答案:A, B, C, D2. C语言中,以下哪些函数用于字符串操作?A. strcpy()B. strcat()C. strcmp()D. printf()答案:A, B, C3. 在C语言中,以下哪些运算符用于比较?A. ==B. !=C. >D. <=答案:A, B, C, D4. C语言中,以下哪些函数用于输入输出?A. scanf()B. printf()C. getchar()D. putchar()答案:A, B, C, D5. 在C语言中,以下哪些关键字用于声明变量?A. intB. floatC. charD. double答案:A, B, C, D三、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。
二级C语言上机考试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. All of the above答案:D2. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D3. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcmp()D. strcat()答案:A4. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. Both A and BD. None of the above答案:C6. C语言中,以下哪个选项是正确的函数声明?A. int myFunction();B. int myFunction;C. int myFunction() {}D. Both A and C答案:D7. 在C语言中,哪个关键字用于定义指针?A. intB. charC. *D. None of the above答案:C8. 下列哪个选项是C语言中的预处理指令?A. #includeB. #defineC. Both A and BD. None of the above答案:C9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct MyStruct { int a; float b; };B. struct MyStruct { int a; char b; };C. Both A and BD. None of the above答案:C10. 下列哪个选项是C语言中的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
大学生二级c语言考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B2. 在C语言中,以下哪个选项是正确的整型常量?A. 0x1AB. 0x1aC. 0X1AD. 0x1A.答案:C3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ||D. &&答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array(3)(4);D. int array[3][4][];答案:A7. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[20];};B. struct Student: {int id;char name[20];};C. struct Student {int id;string name;};D. struct Student {int id;char name;};答案:A8. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[];D. int *ptr[10];答案:A9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. C语言中,以下哪个选项是正确的递归函数声明?A. void factorial(int n) {if (n == 0) return 1;return n * factorial(n-1);}B. void factorial(int n) {if (n == 0) return 1;return n * factorial(n++);}C. void factorial(int n) {if (n == 0) return 1;return n * factorial(n-1);}D. All of the above答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用________关键字可以定义一个枚举类型。
c语言第二章试题及答案一、选择题1. 在C语言中,以下哪个选项不是合法的变量名?A. _123B. intC. 2nameD. name123答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ==答案:A4. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D5. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[] = "Hello", str2[] = "World";C. char str[] = {"Hello"};D. char str[] = "Hello", "World";答案:A二、填空题1. 在C语言中,使用________关键字可以定义一个指针。
答案:int*2. 如果需要定义一个可以存储10个整数的数组,应该使用________关键字。
答案:int3. 在C语言中,使用________函数可以将字符串从标准输入读取到程序中。
答案:scanf4. 要将一个整数变量的值赋给另一个整数变量,可以使用________运算符。
答案:=5. 在C语言中,使用________函数可以输出字符串到标准输出。
答案:printf三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它存储的是另一个变量的内存地址。
数组名可以作为指针使用,但它本身并不是指针。
2. 解释C语言中函数声明和函数定义的区别。
答案:函数声明提供了函数的原型,包括函数名、返回类型和参数类型,但不包含函数体。
试卷编号:9688所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:528设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【1】.答案:=======(答案1)=======28第2题(1.0分)题号:78已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】.答案:=======(答案1)=======15第3题(1.0分)题号:510若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】.答案:=======(答案1)=======2第4题(1.0分)题号:437以下程序的输出结果为【1】, #include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}答案:=======(答案1)=======9,10第5题(1.0分)题号:431执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2);答案:=======(答案1)=======97 b第6题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第7题(1.0分)题号:440设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:95已知a=13,b=6, a&&b的十进制数值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:306当a=1,b=2,c=3时,执行以下程序段后b=【1】.if (a>c) b=a;a=c;c=b;答案:=======(答案1)=======2第10题(1.0分)题号:532以下do-while语句中循环体的执行次数是【1】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);答案:=======(答案1)======= 3第11题(1.0分)题号:398程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案:=======(答案1)=======第12题(1.0分)题号:438以下程序的输出结果为【1】,#include "stdio.h" main(){inta;for(a=0;a<10;a++);printf("%d",a);}答案:=======(答案1)=======10第13题(1.0分)题号:336若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最大的元素的下标值是【1】.答案:=======(答案1)=======2第14题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6第15题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======二、判断共15题(共计15分)第1题(1.0分)题号:940int a[9]; 则a数组的下标范围是1-9答案:N第2题(1.0分)题号:935在C程序中,%是只能用于整数运算的运算符答案:Y第3题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int<=float<double答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;floatf;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:961C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y第6题(1.0分)题号:721语句scanf("%7.2f",&a);是一个合法的scanf函数.答案:N第7题(1.0分)题号:951在执行switch语句时,default和各个case 的出现次序不影响执行结果.答案:Y第8题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第9题(1.0分)题号:930关于if语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第10题(1.0分)题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第11题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:941在定义二维数组时,可以将该数组的两个维数全部省略答案:N第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2056以下程序的输出结果是().main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i);}A:x=3.600000,i=4B:x=3,i=3C:x=3.600000,i=3D:x=3 i=3.600000答案:C第2题(2.0分)题号:2214在C语言中,char型数据在内存中的存储形式是(). A:补码B:反码C:原码D:ASCII码答案:D第3题(2.0分)题号:2174C语言程序中必须有的函数是().A:#include "stdio.h"B:mainC:printfD:scanf答案:B第4题(2.0分)题号:2040若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch); printf("k=%%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%12D:61,141,k=%d答案:C第5题(2.0分)题号:2049以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A:11,10B:9,10C:010,9D:10,9答案:B第6题(2.0分)题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread()答案:A第7题(2.0分)题号:2045若给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第8题(2.0分)题号:2144int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第9题(2.0分)题号:2122下列程序的输出结果是(). main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case0:a++;break;case1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第10题(2.0分)题号:2050C 语言中以下几种运算符的优先次序()的排列是正确的.A:由高到低为:!,&&,||,算术运算符,赋值运算符B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符C:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||D:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符答案:B第11题(2.0分)题号:2263以下不正确的if语句形式是().A:if(x>y&&x!=y);B:if(x==y) x+=y;C:if(x!=y) scanf("%d",&x) elsescanf("%d",&y);D:if(x<y) {x++;y++;}答案:C第12题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第13题(2.0分)题号:2061在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是().A:(!E==0)B:(E>0||E<0) C:(E==0)D:(E!=0)答案:C第14题(2.0分)题号:2058以下程序的运行结果是().main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A:i=10,sum=9B:i=9,sum=9C:i=2,sum=1D:运行出现错误答案:D第15题(2.0分)题号:2068设j和k都是int类型,则for循环语句for(j=0,k=-1;k=1;j++,k++)printf("****\n");().A:循环结束的条件不合法B:是无限循环C:循环体一次也不执行D:循环体只执行一次答案:B第16题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第17题(2.0分)题号:2278以下能对一维数组a进行正确初始化的语句是().A:int a[10]=(0,0,0,0,0)B:int a[10]={};C:int a[]={0};D:int a[10]={10*1};答案:C第18题(2.0分)题号:2284若有说明: int a[3][4]={0};则下面正确的叙述是().A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第19题(2.0分)题号:2256printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式().A:从左起输出该字符串,右补空格B:按原字符长从左向右全部输出C:右对齐输出该字串,左补空格D:输出错误信息答案:B第20题(2.0分)题号:2275以下对二维数组a的正确说明是().A:int a[3][]B:float a(3,4)C:double a[1][4]D:float a(3)(4) 答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:427/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?-------------------------------------------------------*/#include <stdio.h>main(){int cocks,hens,chicks;cocks=0;while(cocks<=19)/***********SPACE***********/{【?】=0;/***********SPACE***********/while(hens<=【?】){chicks=100.0-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0==100.0 )printf("%d,%d,%d\n",cocks,hens,chicks); /***********SPACE***********/【?】;}/***********SPACE***********/【?】;};}答案:=======(答案1)=======hens=======(答案2)=======33=======(答案3)=======hens++=========或=========++hens=========或=========hens=hens+1=======(答案4)=======cocks++=========或=========++cocks=========或=========cocks=cocks+1=========或=========cocks= cocks + 1第2题(6.0分)题号:459/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。