上海海事大学c语言试题3

合集下载

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

一、单项选择题1.( A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A) 程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4。

下列关于C语言的说法错误的是(B)。

A)C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写.C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5。

下列正确的标识符是(C).A.-a1 B。

a[i] C。

a2_i D。

int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“—" ,选项B中“[”与“]"不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%x B)a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line#His。

【大学期末考试复习题】上海海事大学(C语言期末)上机题库(3)

【大学期末考试复习题】上海海事大学(C语言期末)上机题库(3)

第 1 题 ( 1.0 分) 在 C 程序中 , 每行中只能写一条语句 第 2 题 ( 1.0 分) x*=y+8 等价于 x=x*(y+8). 第 3 题 ( 1.0 分) 语句 scanf("%7.2f",&a); 第 4 题 ( 1.0 分) 若 i =3, 则 printf("%d",-i++); 第 5 题 ( 1.0 分) 在 switch-case 语句中 , 必须使用 default 语句 . 答案: N 第 6 题 ( 1.0 分) 关于 if 语句中 , 条件表达式只能是关系表达式或逻辑表达式 第 7 题 ( 1.0 分) continue 语句只结束本次循环 , 而不是终止整个循环的执行 . .break 语句则是结束整个循环过程 , 答案: N 输出的值为 -4. 答案: N 是一个合法的 scanf 函数 . 答案: N 答案: Y 答案: N
第 6 题 ( 1.0 分) 假设变量 a,b 均为整型 , 表达式 (a=5,b=2,a>b?a++:b++,a+b) 的值是【 1】 . 答案: 1). 8
第 7 题 ( 1.0 分) C 语言表达式 !(3<6)||(4<9) 答案: 1). 1 的值是【 1 】 .
第 8 题 ( 1.0 分) c 语言表达式 !(4>=6)&&(3<=7) 答案: 1). 1 的值是【 1 】 .
b=0; do { b+=2; a-=2+b; } while (a>=0); 第 13 题 ( 1.0 分) 若有以下数组 a, 数组元素 :a[0]~a[9], 其值为 答案: 1). 3

大学生期末c语言试题及答案

大学生期末c语言试题及答案

大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2variableB. _variableC. variable2D. variable-2答案:C2. 下列哪个选项是C语言中的关键字?A. defineB. typedefC. includeD. using答案:B3. 在C语言中,以下哪个选项表示的是逻辑与运算?A. &&B. ||C. !D. =答案:A4. C语言中,以下哪个选项是正确的注释方式?A. /* 这是注释 */B. // 这是注释C. /* 这是注释 */D. # 这是注释答案:A5. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. C语言中,以下哪个选项是正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int func(int a, int b);B. int func(int a, int b) {}C. int func(int, int);D. int func(int a, int b) = 0;答案:A8. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = {'H', 'e', 'l', 'l', 'o'};C. char str[] = "Hello";D. char str[] = {'H', 'e', 'l', 'l', 'o'};答案:A10. C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50];} student;D. struct Student {int id;char name[];} student;答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用______运算符可以取变量的地址。

期末c语言考试题库及答案

期末c语言考试题库及答案

期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2nd_variableB. _variableC. variable-nameD. variable$name答案:C3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. intD. void答案:C6. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B7. 下列哪个选项是C语言中的循环结构?A. ifB. forC. switchD. case答案:B8. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. C语言中,以下哪个关键字用于定义一个指针?A. *B. &C. %D. #答案:A10. 下列哪个选项是C语言中的数组?A. int a[10];B. int *a;C. int a=10;D. int a;答案:A二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个字符常量的数据类型是______。

答案:char2. 在C语言中,用于定义一个整型变量的数据类型是______。

答案:int3. 在C语言中,用于定义一个浮点型变量的数据类型是______。

答案:float4. 在C语言中,用于定义一个双精度浮点型变量的数据类型是______。

答案:double5. 在C语言中,用于定义一个布尔型变量的数据类型是______。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

三级C语言上机南开100题_修订word版

三级C语言上机南开100题_修订word版

*******************************************************************************☆题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}******************************************************************************★题目3(字符型题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案 The document was prepared on January 2, 2021C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)1、下面程序的输出是___D______#include<>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值 C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码 B) 补码 C) EBCDIC码 D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__.#include<>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型 B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<>void main(){int a=5,b=3;float x=, y=;printf("%d,%d\n",a+b!=a-b,x<=(y-=);}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 1 28、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=,y=,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4 的值是_____B____.A) B) 2.5 C) D) 030、若已定义x和y是整型变量,x=2;,则表达式y=+x/2的值是____C____.A) B) 5 C) 3 D)31、以下程序的输出结果是____D____.#include<>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) D)34、表达式5!=3的值是____D____.A) T B) 非零值 C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=,b=,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____. #include <>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____. #include <>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"<CR>",则输出结果是___B_____.#include <>void main( ){ float a,b;scanf("%f",&a);if (a< b=; else if ((a< && (a!=) b=(a+;else if (a< b=2;else b=;printf("%f\n",b);}A) B)C) D)48、执行下面程序后,运行结果是____A____. #include <>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good m orning! Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<yy:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <>void main( ){ int a,b,s; scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下 \n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌ -1 x<0y= ┤ 0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <>void main( ){ float x=,y;if(x< y=;else if (x< y=x;else y=;printf("%f\n",y);}该程序的输出结果是____C_____.A) B)C) D) 60、以下程序的执行结果是___B_____. #include <>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____. #include <>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____. #include <>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D)a=2,b=265、下面程序的输出结果是____C_____.#include <>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)w:x; m=(m<y)m:y; m=(m<z)m:z;则该程序段执行后,m的值是____D_____. A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是.#include <>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<yy:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include ""void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____. #include <>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<ak:c<bc:a);}A) 4 B) 3 C) 2 D) 1 75、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <>void main( ){ int a,b;scanf("%d",&a);b=a>15a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出 ****D) 输出 ####79、为了避免嵌套的if-else语句的二义性,C 语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值 B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环 B)循环执行两次C)循环执行一次 D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环 D)输出错误信息84、下面程序的运行结果是____B____.#include<>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______. int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____. int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

上海海事大学-C语言试卷

上海海事大学-C语言试卷

试卷编号:9049 所属语言:Turbo C 试卷方案:09(2) 模拟试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)C语言表达式!(3<6)||(4<9)的值是【1】.答案: 1). 1第2题(1.0分)int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】.答案: 1). 3第3题(1.0分)以下程序的输出结果为【1】,#include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}答案: 1). 9,10第4题(1.0分)执行下列语句的结果是【1】,a=3;printf("%d,",++a);printf("%d" ,a++);答案: 1). 4,4第5题(1.0分)当a=1,b=2,c=3时,执行以下程序段后b=【1】. if (a>c) b=a;a=c;c=b;答案: 1). 2第6题(1.0分)假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是【1】.答案: 1). 6第7题(1.0分)执行下列语句后,b 的十进制值是【1】.int x=240,y=15,b;char z='A';b=(( x && y ) && ( z < 'a' ));答案: 1). 1第8题(1.0分)当a=3,b=2,c=1;时,执行以下程序段后 a=【1】.if(a>b) a=b;if(b>c) b=c;else c=b;c=a;答案: 1). 2第9题(1.0分)以下程序的输出结果为【1】,#include "stdio.h" main(){inta;for(a=0;a<10;a++);printf("%d",a);}答案: 1). 10第10题(1.0分)程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案: 1). 0第11题(1.0分)以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar();答案: 1). ==第12题(1.0分)以下do-while语句中循环体的执行次数是【1】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);答案: 1). 3第13题(1.0分)C语言中,数组元素的下标下限为【1】.答案: 1). 0第14题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案: 1). void第15题(1.0分)C语言源程序的基本单位是【1】.答案: 1). 函数二、判断共15题(共计15分)第1题(1.0分)a=(b=4)+(c=6) 是一个合法的赋值表达式. 答案:Y第2题(1.0分)在C语言中,变量必需先定义后使用答案:Y第3题(1.0分)语句 printf("%f%%",1.0/3);输出为0.333333. 答案:N第4题(1.0分)语句scanf("%7.2f",&a);是一个合法的scanf函数. 答案:N第5题(1.0分)在switch-case语句中,必须使用default语句.答案:N第6题(1.0分)关系运算符的优先级高于算术运算符并且低于赋值运算符.答案:N第7题(1.0分)C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第8题(1.0分)do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第9题(1.0分)在定义二维数组时,可以将该数组的两个维数全部省略答案:N第10题(1.0分)任何数组的下标都是从0开始;答案:Y第11题(1.0分)C语言中只能逐个引用数组元素而不能一次引用整个数组.答案:Y第12题(1.0分)数组中的元素类型不能不同答案:Y第13题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值.答案:N第14题(1.0分)如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准.答案:Y第15题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:N三、单项选择共20题(共计40分)第1题(2.0分)下列程序的输出结果是().main(){printf("%d\n",null); }A:0B:变量无定义C:-1D:1答案:B第2题(2.0分)用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是().long a=0xffffff;int b; char c;A:0ffffff 和0x61B:-1和98C:-1和97D:指向同一地址答案:C第3题(2.0分)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是().A:字符AB:字符aC:字符eD:非法的常量答案:A第4题(2.0分)若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分)若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().A:scanf("%6.2f%d",&a,&b);B:scanf("%f%n",&a,&b);C:scanf("%f%3o",&a,&b);D:scanf("%f%f",&a,&b);答案:C第6题(2.0分)以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A:11,10B:9,10C:010,9D:10,9答案:B第7题(2.0分)int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第8题(2.0分)下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是(). A:8B:23C:17D:6答案:B第9题(2.0分)以下运算符中,优先级最高的运算符是(). A:?:B:++C:&&D:,答案:B第10题(2.0分)设j和k都是int类型,则for循环语句 for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);().A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A 第11题(2.0分)下面有关 for 循环的正确描述是().A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第12题(2.0分)以下程序的运行结果是().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分)以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第14题(2.0分)设j和k都是int类型,则for循环语句(). for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第15题(2.0分)在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为().A:0B:1C:TrueD:非0答案:A第16题(2.0分)以下对一维整型数组a的正确说明是().A:int a(10);B:int n=10,a[n];C:int n; scanf("%d",&n); int a[n];D:#define SIZE 10 (换行) int a[SIZE]; 答案:D第17题(2.0分)在C语言中,引用数组元素时,其数组下标的数据类型允许是().A:整型常量B:整型表达式C:整型常量或整型表达式D:任何类型的表达式答案:C第18题(2.0分)以下不能正确定义二维数组的选项是().A:int a[2][2]={{1},{2}};B:int a[][2]={1,2,3,4};C:int a[2][2]={{1},2,3};D:int a[2][]={{1,2},{3,4}};答案:D第19题(2.0分)若有说明: int a[3][4]={0};则下面正确的叙述是().A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第20题(2.0分)以下数组定义中不正确的是().A:int a[2][3];B:int b[][3]={0,1,2,3}; C:int c[100][100]={0};D:int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 答案:D四、程序填空共2题(共计12分)第1题(6.0分)/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。

上海海事大学C语言期末上机题库 13

上海海事大学C语言期末上机题库 13

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
答案: =======(答案 1)======= 9,10
第 5 题 (1.0 分) 题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案 1)======= 97 b
*第 6 题 (1.0 分) 题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案 1)======= 字符
第 14 题 (1.0 分) 题号:341 定义 int a[2][3];表示数组 a 中的元素个数是【1】个. 答案: =======(答案 1)======= 6
第 15 题 (1.0 分) 题号:328 C 语言中,数组元素的下标下限为【1】. 答案: =======(答案 1)======= 0
答案:
=======(答案 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】.

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

【最新大学期末考试题库答案】上海海事大学(C语言期末)上机题库(10)

【最新大学期末考试题库答案】上海海事大学(C语言期末)上机题库(10)

第 2 题 ( 1.0 分) 写出语句 b=(a=6,a*3);
题号 :84 执行后整型变量 b 的值是【 1 】 .
答案: =======( 答案 1)======= 18
* 第 3 题 ( 1.0 分) 已知 i=5,
题号 :80 执行后整型变量 i 的值是【 1】 .
写出语句 i*=i+1;
答案:
=======( 答案 1)======= 30
第 4 题 ( 1.0 分) 执行下面两个语句
题号 :431 , 输出的结果是【 1】 ,char c1=97,c2=98;printf("%d %c",c1,c2);
答案:
=======( 答案 1)======= 97 b
第 5 题 ( 1.0 分) 下列程序的输出是【
答案:
=======( 答案 1)======= 9,10
第 7 题 ( 1.0 分) 已知 a=12, 写出表达式
题号 :85 (0<a)&&(a<2) 的值是【 1】 .
答案:
=======( 答案 1)======= 0
第 8 题 ( 1.0 分) 已知 a=13,b=6, a&&b
题号 :95 的十进制数值为【 1】 .
答案:
=======( 答案 1)======= 0
二、判断
共 15 题 (共计 15 分) 题号 :928 .
第 1 题 ( 1.0 分)
C 程序中的关键字必须小写
答案: Y
第 2 题 ( 1.0 分)
题号 :933
在 C 语言中 , 变量必需先定义后使用
答案: Y
第 3 题 ( 1.0 分) 若有 int i=10,j=2;

C语言基础练习题含答案

C语言基础练习题含答案

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (9)3 答案及部分解析 (11)第4章选择结构习题 (14)1 选择题 (14)2 填空题 (22)3 答案及部分解析 (31)第5章循环结构习题 (35)1 选择题 (35)2 填空题: (47)3 答案及部分解题分析 (60)第6章数组习题 (64)1. 单项选择题 (64)2. 填空题 (68)3. 判断题 (70)4. 程序填空题 (71)5. 阅读程序,分析程序的功能。

(76)第7章函数习题 (85)1. 单项选择题 (85)2. 填空题 (88)3. 判断题 (89)4. 程序填空题 (90)5. 写出下列程序运行结果 (92)第8章指针习题 (103)1 选择题 (103)2 填空题 (107)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3. 正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。

A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。

A.scanf B.Void C._3com_ D.int9. 一个C程序是由()。

上海二级c语言考试真题及答案

上海二级c语言考试真题及答案

上海二级c语言考试真题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. array答案:A2. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. strleng()D. strlength()答案:A3. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1FB. 0X1FC. 0x1fD. 0X1f答案:C4. 下列哪个选项是C语言中的正确注释方式?A. /* 这是一个注释 */B. // 这是一个注释C. /*这是一个注释*/D. //这是一个注释答案:A5. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C6. 在C语言中,以下哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14eC. 3.14E2D. 3.14e2答案:C7. 在C语言中,以下哪个选项是正确的字符常量表示?A. 'a'B. "a"C. '123'D. "123"答案:A8. 在C语言中,以下哪个选项是正确的字符串常量表示?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B10. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add(int a, b);D. int add(a, b);答案:A二、填空题(每题3分,共15分)1. C语言中,用于输入的函数是________。

C语言全部考试系统题库含答案

C语言全部考试系统题库含答案

目录目录 (1)单元练习题一C语言基础知识 (3)一、判断题 (3)二、单项选择题 (4)三、读程序选择题 (7)四、程序填空题 (8)五、编程题 (10)单元练习题二C语言程序结构 (10)一、判断题 (10)二、单项选择题 (11)三、读程序选择题 (18)四、程序填空题 (30)五、编程题 (35)单元练习题三数组 (36)一、判断题 (36)二、单项选择题 (37)三、读程序选择题 (39)四、程序填空题 (43)五、编程题 (49)单元练习题四函数 (49)二、单项选择题 (50)三、读程序选择题 (52)四、程序填空题 (60)五、编程题 (63)单元练习题五预处理 (63)一、判断题 (63)二、单项选择题 (64)三、读程序选择题 (64)四、程序填空题 (65)五、编程题 (65)单元练习题六指针 (66)一、判断题 (66)二、单项选择题 (66)三、读程序选择题 (67)四、程序填空题 (74)五、编程题 (77)单元练习题七结构体与共用体 (78)一、判断题 (78)二、单项选择题 (78)三、读程序选择题 (79)四、程序填空题 (83)单元练习题八文件 (84)一、判断题 (84)二、单项选择题 (84)三、读程序选择题 (84)四、程序填空题 (85)五、编程题 (87)第一章C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题(正确的填A,错误的填B)R1.在C语言中,逗号运算符的优先级最低。

(A)2.在C语言可执行程序的开始执行点是程序中第一个函数。

(B)3.“5ch”是合法的变量名。

(B)4.C语言程序书写格式自由,一行可以写几个语句,一个语句可以分写在多行上。

(A)5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A)N6.表达式i++与++i在任何场合功能完全相同。

(B)7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)



C)while的循环体至少无条件执行一次


D)while的循环控制条件比do-while的严格
D 制
结 构
7)语句while (!a);中条件等价于____.
A)a!=0 B)~a C)a==1 D)a==0
返回目录
C
● 单项选择题
第20页
D 8)以下程序的运行结果为____.
#include <stdio.h>
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
返回目录
C
第24页
● 程序填空题
1.下面程序的功能是计算n!。
#include <stdio.h>
main( )
{
int i, n;

long p;
言 程
printf ( "Please input a number:\n" );
main( )
语{
言 程 序 设 计
控 制 结
构}
int i=1,sum=0; while(i<=100)
sum+=i; i++; printf("1+2+3+...+99+100=%d", sum);
A)5050 B)1 C)0
D)程序陷入死循环
返回目录
C
● 单项选择题
A 9)以下程序的运行结果为____.


A)\’ B)\0 C)\n
D)\\
D 基

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

试卷编号:9689所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明.答案:=======(答案1)=======char第2题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:=======(答案1)=======1.0=========或=========1第4题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第5题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}答案:=======(答案1)=======9,10第6题(1.0分)题号:498c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:=======(答案1)=======循环第7题(1.0分)题号:100已知a=13,b=6, a||b的十进制数值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:441设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:389设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:=======(答案1)=======10第11题(1.0分)题号:421若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第12题(1.0分)题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:=======(答案1)=======3第13题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可.答案:=======(答案1)=======strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6二、判断共15题(共计15分)第1题(1.0分)题号:715整数 -32100可以赋值给int型和long int 型变量.答案:Y第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int<=float<double答案:Y第3题(1.0分)题号:928C程序中的关键字必须小写.答案: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分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句.答案:Y第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为-4.答案:N第7题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.答案:Y 第8题(1.0分)题号:951在执行switch语句时,default和各个case 的出现次序不影响执行结果.答案:Y第9题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第10题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第11题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是(). A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第4题(2.0分)题号:2043 已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为().char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0'); A:b,cB:a--运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第5题(2.0分)题号:2128下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案:C第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C第7题(2.0分)题号:2028假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是().A:7B:8C:9D:2答案:B第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3B:2C:1D:0答案:C第9题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第10题(2.0分)题号:2136下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A:7B:9C:63D:49答案:C第11题(2.0分)题号:2319在C语言中,要求运算数必须是整型的运算符是().A:^B:%C:!D:>答案:B第12题(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第13题(2.0分)题号:2123设j和k都是int类型,则for循环语句(). for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第14题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第15题(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第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是().A:t>=1e-5||t<=-1e-5||s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A 第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0}; B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'};D:char c2[]={'\x10','\xa','\x8'};答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:24/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。

相关文档
最新文档