C语言程序设计课程考试试题.pdf
C语言程序设计试题(卷)集与答案解析
第一章 基础知识 一.填空 1. 每个 C 程序都必须有且仅有一个________ 函数。 2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、 ________、 链接 、加载 和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计 算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为 低级语言和________两大类 。 6. C 语言是由________组成的。 7. C 语言的函数可分为主函数 main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和 函数体。 9. 编译是将 C 语言所编写的源程序________成机器代码,也称 为建立目标代码程序的过程。 10. 程序是由某种程序设计语言 编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制 计算机本身软硬件协调工作 ,并使其设备充分发挥效力,方便 用户使用的系统软件程序,称为操作系统;而为办公自动 化 (OA)、管理信息系统(MIS)、人工智能、电子商务、网络互 联等等应用而开发的软件程
12. 实数 473.468 写成规范化指数形式,则应为 ______。 13. 实数 0.0453 写成规范化指数形式,则应为 ______。 14. 将 0x123 转换为二进制等于 ______。 15. 字符’A’表示成十六进制等于 ______。 16. 在 C 语言中,称代表常量的标识符为 ______。 17. C语言中是用编译预处理命令______ 来定义符号常量 18. 在 C 语言中,以反斜杠符(\\)开头,后跟字符的字符序列, 称之为 ______ ,主 要用来表示控制及不可见的字符或者一些图形符号 19. 语句 printf(\执行的结果输出是 ______。 20. 语句 printf(“b”)执行的结果输出是______。 21. 语句 printf(“\\\\b”)执行的结果输出是 ______。 22. 语句 printf(\执行的结果输出是 ______。 23. 若有 char ch1; ch1='a'+4; 则语句 printf(\的输出结果为 ______。 24. 字符串常量“Hello, everyone!”占据的内存空间为______ 个字节 25. 字符串常量“Hello,Bob!”占据的内存空间为 ______ 个字 节 26. 十进制整型常量由 0~9 个数据组成,但不能以______ 开始, 没有小数部分 27. 十六进制常量由 0~9 和______ 组成
C语言程序设计试题及答案解析
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
2020-2021大学《C语言程序设计》课程考试试卷(含答案)
某大学《C语言程序设计》课程考试试卷适用专业:考试日期:年月日考试时间:120分钟考试形式:闭卷试卷分数:100分一、填空题(每空1分,共25分)1、变量名和指针作函数参数时,变量名传递的是,指针传递的是。
2、表达式!!5的值是______。
3、printf("%xn", (0x19 <<1) & 0x17);的输出结果是______。
4、只能被本文件中的其它函数所调用的函数称为,在定义此类函数时,在函数名和函数类型前应加关键字。
能被其他文件中的函数所调用的函数称为,在定义此类函数时,一般应在该函数名和函数类型前面加上关键字。
5、下列程序段的输出结果是_____。
char *st[ ]={"abcd","efgh","ijkl","mnop"};printf("%s", *(st+1)+1);6、表示“x≥y≥z”的C表达式是_______。
7、执行下列程序段,输出结果,。
#define f(a, b, x) a*x+bprintf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));8、若#define PRICE 30,则PRICE称为。
9、在C 语言程序中,在函数内部定义的变量称为______。
10、若变量c为char类型,则能正确判断出c为小写字母的表达式是。
11、执行putchar(getchar( ));语句时,当通过键盘输入字符A时,则屏幕上输出。
12、C语言中的三种基本程序结构是、和。
13、如果X = 3;Y = 5; Y += X + 8; ,则Y = 。
14、如果i = 3;j = 5; j = i + +; ,则j = , i = 。
15、如果char ch[][4] = {“abcd”,“efgh”,“ijklm”,“nopq”}; ,则*((ch+2)+2) = ,*(ch[1]+2) = , *(ch+1) 代表元素的地址。
C程序设计试卷及答案
C程序设计试卷及答案《c程序设计》考试试题(120分钟)一、单项选择题(每小题2分后,共60分后)?1.以下运算符中优先级最低的就是________。
a)<b)+c)&&d)!=2.c语言中的标识符只能由字母、数字和下划线组成且第一个字符________。
a)必须为字母b)必须为下划线c)必须为字母或下划线d)可以就是字母,数字或下划线中任一种3.推论char型变量ch与否为大写字母的恰当表达式就是________。
a)@a@<=ch<=@z@b)(@a@<=ch)and(@z@>=ch)c)(ch>=@a@)&(ch<=@z@)d)(ch>=@a@)&&(ch<=@z@)4.以下的for 循环________。
for(x=0,y=0;(y!=123)&&(x<4);x++);a)是无限循环b)循环次数不定c)执行4次d)执行3次5.putchar函数可以向终端输出一个________。
a)字符或字符变量值b)字符串c)整型变量表达式的值d)实型变量值6.设a,b,c都就是int型变量,且a=3,b=4,c=5,则下面的表达式中,值0的表达式就是________。
a)@a@&&@b@b)ac)a||b+c&&b-cd)!((a7.推论字符串a和b与否成正比,应采用________。
a)if(a==b)b)if(a=b)c)if(strcpy(a,b))d)if(strcmp(a,b))8.请阅读以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(\elseprintf(\}以上程序________。
a)有语法错误不能通过编译b)可以通过编译但不能通过连接c)输出***d)输出$$$9.t为int类型,步入下面的循环之前,t的值0,while(t=l){??}则以下叙述中正确的是________。
C语言程序设计考试题(全题)
福建师范大学C语言程序设计考试题系别 _______ 班级 _______ 姓名_________ 学号________ 得分__________一、选择题(本大题共40个选项,每个选择项1.5分,共60分)1.在C语言中,合法的字符常数是【1】A)‘程序设计’ B)“程序设计”C)c D)‘\\’2.在C语言中,以下不正确的八进制或不正确的十六进制数是【2】A)090 B)0xABC)0xla D)-0163.执行int x=2,y=3;后表达式x=(y==3)的值是【3】A)0 B)1C)2 D)34.执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是【4】A) 3 B) 4C) 7 D) 115.在循环结构的循环体中执行break语句,其作用是【5】A) 结束本次循环,进行下次循环B) 继续执行break语句之后的循环体中各语句C) 跳出该循环体,提前结束循环D) 终止程序运行【6】main(){char s[]=”\’Address\’”;printf(%d\n”, strlen(s));}A) 9 B) 10C) 11 D) 12【7】main(){int a[]={2, 4, 6, 8, 10}, y=1, x;for(x=0; x<3; x++) y+=a[x+1];printf(“%d\n”, y);}A) 17 B) 18C) 19 D) 208.已定义char x[8]; int i;为了给x数组赋值,以下正确的语句是【8】A) x[8]=”Turbo C”; B) x=”Turbo C”;C) x[]=”Turbo C”; D) for(i=0; i<7; i++) x[i]=getchar();9.设int a[][4]={0, 0};则以下错误的描述是【9】A) 数组a的每个元素都可得到初值0B) 二维数组a的第一维大小为1C) 数组a的行数为1D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0 【10】fun3(int x){static int a=3;a+=x;return a;}main(){int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(“%d\n”, n);}A) 3 B) 4C) 6 D) 911.以下四个运算符,按优先级由高到低的排列顺序是【11】A) ++ % += > B) % ++ > +=C) % += > ++ D) ++ % > +=【12】A) 在函数外部定义的变量是全局变量B) 在函数内部定义的变量是局部变量C) 函数的形参是局部变量D) 局部变量不能与全局变量同名13.“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为【13】A) 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在的目录D) 仅仅搜索当前目录14.设有语句int(*p)();则p是一个【14】A) 指向一维整型数组的指针变量B) 指针函数,该函数的返回值为指向整型变量的指针C) 指向函数的指针变量,该函数的返回值为整型D) 数组指针,它的每个元素都是一个可以指向整型变量的指针变量15.若有typedef float AR[5];AR a;则以下叙述正确的是【15】A) a是一个新类型名B) AR是一个实型数组C) AR是一个实型变量D) a是一个实型数组【16】A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、字符型17.在C语言中,变量所分配的内存空间大小【17】A)均为一个字节 B)由用户自己定义C)由变量的类型决定 D)是任意的18.在C语言中,合法的整型常数是【18】A)-0x123 B)3.14159 C19.下列各变量均为整型,选项中不正确的C语言赋值语句是【19】A)i+=++i; B)i=j==k;C)i=j+=i; D)i=j+1=k;≤y≤z可用C语言的表达式表示为【20】A)(x<=y)&&(y<=z) B)(x<=y)and(y<=z)C)(x<=y<=z) D)(x<=y)&(y<z)21.若定义float a;现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用【21】A)scanf(“%6f”,&a); B)scanf(“%”,a);C)scanf(“%”,&a); D)scanf(“%f”,a);【22】unsigned a=0356,b;b=~a|a<<2+1;printf(“%x\n”,b);A)ffba B)ff71 C)fff8 D)fc0223.要使以下程序的输出结果为4,则a和b应满足的条件是【23】main(){int s,t,a,b;scanf(“%d%d”,&a,&b);s=t=1;if(a>0) s += 1;if(a>b) t= s + t;elseif(a==b) t=5;else t=2*s;printf(“%d\n”,t);}A)a>0并且a<b B)a<0并且a<bC)a>0并且a>b D)a<0并且a<b24.若int i;则以下循环语句的循环执行次数是【24】for (i=2;i==0;) printf(“%d”,i--);A)无限次 B)0次C)1次 D)2次【25】main(){int i;for(i=100;i<200;i++){if(i%5==0) continue;printf(“%d\n”,i);break;}}A)100 B)101C)无限循环 D)无输出结果【26】int i=1,a[]={1,5,10,9,13,7};while(a[i]<=10) a[i++]+=2;for (i=0;i<6;i++) printf(“%d”,a[i]);A)2 7 12 11 13 9 B)1 7 12 11 13 7C)1 7 12 11 13 9 D)1 7 12 9 13 7“abcde”赋初值给字符数组,不正确的语句是【27】A)char s[]=“abcde”; B)char s[]={’a’, ’b’,’c’,’d’,’e’,’\0’};C)char s[]={“abcde”}; D)char s[5]= “abcde”;28.若变量c为char类型,能正确判断出c为小写字母的表达式是【28】A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')【29】void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2【30】main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i *(i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)2331.当执行下面的程序时,如果输入ABC,则输出结果是【31】main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}A) ABC6789 B) ABC67 C【32】A) int a[2][3]={0}; B) int a[][3]={1,2,3,4,5};C) int a[2][3]={{1,2},{3,4},{5,6}}; D) int a[2][3]={{1},{3,4,5}};33.若int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是【33】A) 2 B) 3 C) 4 D)无确定值34.下面程序段的运行结果是【34】int a[2][3]={1,2,3},i,j;for(i=0;i<2;i++)for(j=0;j<3;j++){a[i][j]=a[i*j%2][j]+a[i][(i+j)%3];printf(“%d,”,a[i][j]);}A) 2,4,6,2,0,8, B) 1,2,3,0,0,0,C) 1,2,3,2,0,6, D) 2,4,6,2,0,6,35.下面程序段的运行结果是【35】int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d\n”,a[2][1]);A) 2 B) 4 C) 7 D)836.定义一个结构体变量时,系统分配给它的内存大小是【36】A)各成员所需内存量的总和B)成员中占内存量最大者所需内存容量C)结构中第一个成员所需内存容量D)结构中最后一个成员所需内存容量37.若typedef char STRING[255];STRING s;,则s是【37】A)字符指针数组变量B)字符数组变量C)字符变量D)字符指针变量38.若已定义:int *p,a;,则语句p=&a;中的运算符“&”的含义是【38】A) 位与运算B) 逻辑与运算C) 取指针内容D)取变量地址39.若有定义char *p,ch;则不能正确赋值的语句组是【39】A)p=&ch;scanf(“%c”,p);B)p=(char *)malloc(1); *p=getchar();C)*p=getchar();p=&ch;D)p=&ch;*p=getchar();40.下面程序段的运行结果是【40】char s[]=“ABC”;int i;for(i=0;i<3;i++) printf(“%s”,&s[i]);A) ABC B) ABCABCABC C) AABABC D)ABCBCC1.下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数0.5 C) 2L D) '\72'3.下列选项中,合法的C语言关键字是A) V AR B) cher C) integer D) default4.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值B) 4 C) 3 D) 15.下面程序段的运行结果是【5】float y=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;int i;p=&a[1];fo r(i=0;i<3;i++) y+=*(p+i);printf(“%f\n”,y);A) 12.0000 B) 28.0000 C) 20.0000 D) 18.00006.下面程序段的运行结果是【6】char c[]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s\n”,c);A) ab c B) ‘a’‘b’C) abc D) ab7.下面程序段的运行结果是【7】char s[10],*sp=“HELLO”;strcpy(s,sp);s[0]=‘h’;s[6]=‘!’;puts(s);A) hELLO B) HELLO C) hHELLO! D) h!8.若有定义int a[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]的地址不正确表示是【8】A) &a[i][j] B) a[i]+jC) *(a+i)+j D) *(*(a+i)+j)9.若有定义int *p[4];,则标识符p是一个【9】A) 变量的指针变量B) 指向函数的指针变量C) 指向有四个整数元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针10.若有定义char *language[]={“FORTRAN”, “BASIC”,“PASCAL”,“JA V A”, “C”};则language[2]的值是【10】A) 一个字符B) 一个地址C) 一个字符串D) 不确定11.C语言规定,函数返回值的类型由【11】所决定。
c语言程序设计考试试题及答案
c语言程序设计考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言可以用于系统程序设计答案:B2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中合法的变量名?()A. _intB. 2ndC. intD. var_name答案:C4. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. &&C. |D. ||答案:A5. 在C语言中,下列哪个选项是正确的字符串声明?()A. char str[] = "Hello, World!";B. char str[10] = "Hello, World!";C. char str[] = {"Hello, World!"};D. char str[20] = "Hello, World!";答案:A6. 下列哪个函数用于将浮点数转换为字符串?()A. sprintfB. atoiC. itoaD. atof答案:A7. C语言中,用于定义一个指针变量的关键字是()。
A. intB. floatC. charD. void答案:C8. 在C语言中,下列哪个选项不是合法的数组声明?()A. int arr[5];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int *arr = {1, 2, 3};答案:D9. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 所有选项都正确答案:D10. 在C语言中,用于控制程序流程的关键字是()。
C语言程序设计试题及答案完整版
C语言复习资料必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If 是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e 后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
北京航空航天大学《C语言程序设计》试卷
北京航空航天大学《C语言程序设计》课程考试试卷注意事项: 1、本试卷满分100分;考试时间:90分钟;考试形式:开卷2、请将答案一律写在答题纸上,试卷上作答无效3、考试结束后,考生将试卷及答题纸一并交回4、请将条形码贴在答题纸的指定位置学习中心______________姓名____________学号____________一、单项选择题(本大题共10小题,每小题2分,共20分)1、设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是______。
()A.' 1' B.'3'C.'\0' D.存在语法错误2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为______。
()A.自动(auto) B.静态(static)C.外部(extern) D.寄存器(register)3、已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是______。
()A.float B.charC.int D.double4、当声明一个结构变量时,系统分配给它的内存是______。
()A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量5、C语言中的简单数据类型包括______。
()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型6、合法的数组说明语句是______。
()A.int a[]="string";B.int a[]={0,1,2,3,4,5};C.char a="string";D.char a[5]={'0','1','2','3','4','5,};7、定义int i=1;,执行语句while(i++<5);后,i的值为______。
完整word版,C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
C语言程序设计试题及答案
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
C语言程序设计考试试题(附答案)
C语言程序设计考试试题(附答案)一、单项选择题若以下各题所有库函数都可以合法使用,且变量定义如下:int m=5, i=3,j=2,*p, a=8,b=0;int arr[10]={0,1,2,3,4,5,6,7,8,9},td[ ][3]={1,2,3,4,5,6};float x=2.5,y=3.0;double z=0; long n=1;char c=’A’,ch[20]={’a’,’b’,’c’,’\0’,’d’,’\0’};struct student{ int num;char name[20];float score;struct student *next;}st1,st2,*ps;FILE *fp;1.若将3和10从键盘输入给变量a、x,输入语句为scanf(“a=%d,x=%f”,&a,&x);正确的键盘输入是(↙表回车):A a=3,x=10↙B 3,10↙C 3 10↙D 3,10.0↙2. 以下不是死循环的语句是:A for ( ;;y+=i++);B while(a) y+=i++ ;C do{ y+=i++}while (a>0);D for (b=0;(c=getchar()!=’\n’);)b++;3.若p=arr;正确的语句是:A *p=arr[10];B *p=arr[2*a];C p=arr[5];D p[i]=arr[0];4.若ps=&st1;则下面描述正确的是:A ps->num与st1->num等价。
B ps.num与st1.num等价。
C ps->num与num等价。
D ps->num与st1.num等价。
5.语句printf(“%d",a<i>j);的输出结果是:A 1B 0C 8 D都不对6.表达式 j/i+a%i+x 的值是:A 6B 4.5C 6.0D 5.57.表达式 b||a+i&&i<j 的值是:A 不确定B 0.0C 1D 08.若执行语句 a=b+=3*j+(int)x;则b的值为:A 1B 8C 0D 8.59. 若执行语句 a=b>j ?++i : i++;则a与i的值分别为:A 4 ,4B 3 ,4C 4 ,3D 3 ,310.if (a<b) if (c==d) x=8;else x=1;表示的逻辑关系是:8 a<b 且c=d 8 a<b 且c=dA x=B x=1 a<b 且c≠d 1 a≥b且c=d8 a<b 且c=d 8 a<b 且c=dC x=D x=1a≥b 1 a<b11.将字符串“Wan Ming”输入数组ch中,正确的是:A、scanf(“%s”,ch)B、scanf(“%s”,&ch)C、ch=“Wan Ming”D、gets(ch)12. 执行语句printf(“%c”,td[1][0]+’A’)的结果是:A、AB、BC、DD、E13.下列关于main()函数说法正确的是A、C语言程序总是从main()开始执行B、C语言程序可以没有main()函数C、C语言程序可以包含多个main()函数,但必须在不同的模块中D、C语言程序中main()函数不能有形式参数14.下列关于函数说法正确的是A、C语言程序的函数内还可定义其他的函数B、C语言程序的函数内不可再定义其他的函数C、C语言程序的函数不能自己调用自己D、C语言程序中只有同一源文件中的函数才能有调用与被调用关系15.若#define squ(x) x*x 执行语句printf(“result=%d”,squ(i+j));结果为:A、result=36B、36C、result=11D、1116. 若#define squ(x) (x)*(x) 执行语句printf(“result=%d”,squ(i+j));结果为:A、result=36B、result=17C、result=11D、result=25 17.C语言对宏命令叙述正确的是A、宏替换占用运行时间B、编译程序对宏命令的处理是在对源程序中其它成分编译之前进行的C、宏命令的处理是在程序执行时进行的D、宏命令的处理是在程序连接时进行的18. 若执行语句a- =a+=a*=10;a的值为:A、0B、-10C、-100D、10019.若执行语句p=arr; printf(“%d”,*(p+i));输出结果为A、0B、2C、3D、120.若执行printf(“%s”,ch);结果为:A、’abc’B、abcC、abcdD、abc\0d21.若对数组进行初始化:char carr[ ]={’s’,’t’,’u’,’d’,’e’,’n’,’t’},barr[ ]=”student”;则正确的是A、carr与barr长度相同B、carr比barr长C、carr与barr相同D、carr比barr短22.若有说明语句int (*p)[N];则p是A、N个指向整型变量的指针B、可指向有N个整型元素的一维数组的指针C、指向N个整型变量的函数指针D、有N个指针元素的一维指针数组23.若有说明语句int *f( );则函数f是A、f是一个指向整型变量的数组指针B、f返回一个整型数据C、f是一个指向整型变量的函数指针D、f返回一个整型指针,指向函数本身24.若函数f定义如下:void f(char *d, char *s){ while ( *d++=*s++);}函数f的功能是:A、串比较B、串复制C、求串长D、串反向25.表达式100+a+’a’+x*z的值的数据类型为A、intB、floatC、doubleD、char26.若要动态申请一个double型内存单元,正确的语句是A、pd=double malloc(sizeof(double))B、pd=( * double)malloc(sizeof(double))C、pd=double * malloc(sizeof(double))D、pd=(double *)malloc(sizeof(double)) 27.若要从键盘上输入67892到变量n中,正确的语句是A、scanf(“%lf”,&n);B、scanf(“%ld ”,&n);C、scanf(“%lf ”,n);D、scanf(“%d ”,&n);28.判断字符变量c是否不为小写英文字母的正确表达式是A、’a’<=c <=’z’B、c>= ‘a’ && c<=’z’C、’a’≤c ≤’z’D、c<’a’ || c>’z’29.下列每组表达式被执行后,结果完全等价的是A、!(b= =0)与!(!b )B、b=(a=4,4*5) 与b=a=4,4*5C、float(i/j) 与float i/jD、0<x<100 与x>0 && x<10030.表达式(m&1)==(m%2)的值是A、0B、无法确定C、1D、以上都不对31.数学式ln2x+asin(60°)的C语言表达式是A、log(2*x)+a*sin(60)B、ln(2*x) +a*sin(60/180*3.14)C、ln(2*x) +a*sin(60)D、log(2*x)+a*sin(3.14*60/180)32. 要打开一个已经存在的非空文件file用于修改,则正确的语句是A、fopen(“file”,”r+”)B、fopen(“file”,”w”)C、fopen(“file”,”a+”)D、fopen(“file”,”r”)33. 若打开文件时发生错误,则f open()函数的返回值是A、1B、0C、不确定D、没有返回值34. 调用函数fseek(fp,-25L,2),其操作结果是A、文件位置指针从文件开始处前移25字节B、文件位置指针从文件结尾处后移25字节C、文件位置指针从文件当前位置处前移25字节D、文件位置指针从文件当前位置处后移25字节35. 能正确表示a和b同时为正或同时为负的逻辑表达式是A、(a>=0||b>=0)&&(a<0||b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a*b>0&&(a*b<=0)D、a*b>036. 若x=y=z=1;表达式(x--||++y)&&(z++)执行后,x,y,z的值分别为:A. 0,1,1B. 0,1,2C. 0,2,1D. 0,2,237.下列变量的初始化,不正确的是:A. int x,y=5;B. float x=y=3.5;C. char s[]=”a”;D. int a[][3]={{1},{},{0,9}};38. 可以代替while(x!=0)中的条件x!=0的是:A. xB. !xC. x==1D. x!=139.有关函数参数,下列说法不正确的是:A. 实参和形参是不同的变量;B. 实参可以将数据传给形参;C. 形参可以将数据传给实参;D. 实参和形参必须个数相等,类型一致。
C语言程序设计试卷(含答案)
C语⾔程序设计试卷(含答案).2015年春季学期《C 语⾔程序设计》试卷A⼀.选择(每道⼩题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将⾃动给k 赋初值0 B)这时k 中的值⽆定义 C)系统将⾃动给k 赋初值-1D)这时k 中⽆任何值3、以下选项中,能⽤作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为⼗进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include main(){ int x; scanf("%d",&x);if(x!=10) printf("%d\n",x);}程序运⾏时,输⼊的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)⼤于3且不等于10的整数 C)⼤于3或等于10的整数D)⼩于3的整数9、有以下程序#include main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运⾏后输出结果是( )。
《C语言程序设计》试题十四及答案
《C语言程序设计》试题十四及答案《C语言程序设计》试题十四 (1)一、选择题(1—14每题1分,15-18每题1.5分,共20分) (1)二、填空题(每空1分,共12分) (3)三、程序补充题(每空3分,共24分) (3)四、按格式写出程序运行结果。
(每题4分共20分) (4)五、按题目要求写出可运行程序:(24分) (5)《C语言程序设计》试题十四答案 (7)《C语言程序设计》试题十四一、选择题(1—14每题1分,15-18每题1.5分,共20分)1.可选作用户标识符的一组标识符是()A voidB c5_b8C ForD 3aDefine _53 -ab DOWORD IF Case int2.在C语言中,非法的八进制是:()A.018B.016C.017D.02573.在TC中,基本int a[4]类型变量所占的字节数是()A.1B.2C.4D.84.设x,y,z,k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()A.4B.16C.32D.525.设int型变量a为5,使b不为2的表达式是()A.b=a/2B.b=6-(-a)C.b=a%2D.b=a>3?2:16.一个C程序的执行是从()A.main()函数开始,直到main()函数结束。
B.第一个函数开始,最后一个函数结束。
C.第一个语句开始,最后一个语句结束。
D.main()函数开始,直到最后一个函数。
7.C语言中用于结构化程序设计的三种基本结构是()A.if、switch、breakB.if while forC.while do- while forD.顺序结构、选择结构、循环结构8.以下叙述中不正确的是()A.在不同的函数中可以使用相同名字的变量。
B.函数中的形式参数是局部变量。
C.在一个函数内的符合语句中定义变量在本函数范围内有效。
D.在一个函数内定义的变量只在本函数范围内有效。
9.若k为int 类型,且k的值为3,执行语句k+=k-=k*k后,k的值为()A.-3B.6C.-9D.-1210.有以下程序main(){int x=3,y=3,z=3;printf(“%d %d\n”(++x,y++),++z);} 输出结果()A.3 3B.3 4C.4 2D.4 311.若有定义和语句:int a=21,b=021; printf(“%x,%d \n”,a,b);输出结果()A.17,15B.16,18C.17,19D.15,1712.已有定义语句:int x=3,y=4,z=5;则值为0的表达式是()A.x>y++B.x<=++yC.x!=y+z>y-zD.y%z>=y-z13.能正确表达逻辑关系“a≥10或a≤0”的C语言表达式是()A.a>=10 or a<=0B.a>=10||a<=0C.a>=10&&a<=0D.a>=10|a<=014.n为整型常量,且n=2;while(n--);printf(“%d”,n);执行后的结果是:()A.2B.1C.-1D.015.若有以下定义和赋值double *q,a=5.5; int *p,i=1; double *q,a=5.5;int *p,i=1;p=&i q=&a 以下对赋值语句叙述错误的是( )。
(完整版)C语言程序设计试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。
A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D6、以下关于函数叙述中,正确的是。
A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。
A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。
C语言程序设计综合考试试题与答案
C语言程序设计综合考试试题与答案1、以下叙述中正确的是()A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上(正确答案)D)用C语言编写的程序只能放在一个程序文件中2、以下叙述中正确的是()A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束(正确答案)D)C语句必须在一行内写完3、计算机能直接执行的程序是()A)源程序B)目标程序C)汇编程序D)可执行程序(正确答案)4、以下C语言用户标识符中,不合法的是()A)_1B)AaBcC)a_bD)a-b(正确答案)5、以下选项中不合法的标识符是()A)printB)FORC)&a(正确答案)D)_006、以下选项中合法的标识符是()A)1_1B)1-1C)_11(正确答案)D)1_ _7、以下选项中,能用作数据常量的是()A)o115B)0118C)1.5e1.5D)115L(正确答案)8、以下选项中不能作为C语言合法常量的是()A)'cd'(正确答案)B)0.1e+6C)"\a"D)'\011'9、C源程序中不能表示的数制是()A)二进制(正确答案)B)八进制C)十进制D)十六进制10、以下选项中正确的定义语句是()A)double a;b;B)double a=b=7;C)double a=7,b=7;(正确答案)D)double,a,b;11、以下不能正确表示代数式2ab/cd的C语言表达式是(D)A)2ab/c/d(正确答案)B)ab/c/d2C)a/c/db2D)2ab/cd12、义:int x=2;,以下表达式中,值不为6的是()A)x=x+1B)x++,2xC)x=(1+x)D)2x,x+=2(正确答案)12、有以下程序,其中k的初值为八进制数main(){int k=011;cout<<k++<<endl;}程序运行后的输出结果是(D)A)12(正确答案)B)11C)10D)913、若有表达式(w)?(--x):(++y),则其中与w等价的表达式是(D)_________________________________A)w==1 B)w==0 C)w!=1 D)w!=0_________________________________14、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是()A)a=a++,i++;B)i=(a+k)<=(i+k)C)i=a%11;(正确答案)D)i=!a;15、若函数中有定义语句:int k;,则()A)系统将自动给k赋初值0B)这时k中的值无定义(正确答案)C)系统将自动给k赋初值-1D)这时k中无任何值16、例2.3.2 写出下列程序的运行结果#include(正确答案)void main(){int c , x , y ;x = 0 ; y = 0 ; c = 0 ;c = x++ && y++ ;cout}答案:1 0 0A B C D17、例2.3.3 写出下列程序的运行结果#include(正确答案)void main(){int c , x , y ;x = 1 ; y = 1 ; c = 0 ;c = x++ || y++ ;cout}答案:2 1 1A B C D18、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()A)1(正确答案)B)0C)2D)不知道a的值,不能确定19、课堂练习:两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。
C语言程序设计考试试题(附答案)
C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。
(完整版)C语言程序设计试题与答案-4
《C语言程序设计》试题(闭卷)得分评卷人一、单项选择题:(每题 2 分,共 30 分)1. C 语言规定:在一个源程序中,main函数的位置_____________。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下列说法中错误的是_____________。
A. 主函数可以分为两个部分:函数头和函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行3. 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将_____________。
A. 生成目标文件B. 生成可执行目标文件C. 输出运行结果D. 自动保存源文件4. 以下选项中,不正确的 C 语言浮点型常量是_____________。
A. 160.B. 0.12C. 2e4.2D. 0.05. 以下用户标识符中,合法的是_____________。
A. intB. nitC. 123D. a+b6. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____________。
A. 算术运算、关系运算、赋值运算B. 算术运算、赋值运算、关系运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算7. 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是_____________。
A. 1,1B. 0,1C. 1,0D. 0,08. sizeof (char)的结果值是_____________。
A. 4B. 2C. 1D.出错9. 设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是_____________。
A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)10. 要为字符型变量 a赋初值,下列语句中哪一个是正确的_____________。
《c程序设计》考试试题2
C语言测试题一、选择题1、下列不属于C语言关键字的是_______A.default B.register C.enum D.external2、以下运算符中优先级最低的为_______A, && B, & C, || D, =3、已知:float x=1, y; 则:y=++x*++x的结果为A,y=9 B, y=6 C, y=1 D, 表达式是错误的4、有关宏代换叙述中错误的是_______A,宏代换不占用运行时间B,宏名无类型C,宏代换只是字符替换D,宏名必须用大写字母表示5、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______A, a<>0 B, !a C,a=0 D, a6、已知:int x,a,b; 下列选项中错误的if 语句是_______A,if (a=b) x++ B, if (a=<b) x++ C, if (a-b) x++ D, if (x) x++7 执行语句“for(i=0; i++<3;);”后,变量i的值为_______A,2 B,3 C,4 D, 58 在while(x)中的x与下面条件表达式等价的是_______A,x= =0 B, x= =1 C, x!=1 D, x!=09、定义int i=1; 执行语句“while (i++<5); ”后,i的值为A,3 B,4 C,5 D,610、C语言中进行乘方运算,例如求a的3次方,可以使用_______A, a^3 B,a**3 C, pow(a,3) D,power(a,3)11、C语言中的返回值是由_______决定的。
A,return语句中的表达式类型B,调用该函数的主调函数类型C,调用函数时临时决定D,定义函数时所指定的函数类型12、在一个源文件中定义的外部变量的作用域是_______A,本文件的全部范围B,本程序的全部范围C,本函数的全部范围D,从定义该变量的位置开始至本文件结束13、在一个C圆程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要的存储类别是_______A, extern B,register C, auto D, static14、调用strlen(“abcd\0ef\0g”)的返回值是_______A,4 B,5 C,8 D,915、若用数组名作为函数调用时的实参,则实际上传递给形参的是_______A,数组首地址B,数组的第一个元素值C,数组中全部元素的值D,数组元素的个数16、已知:char str1[20]=”abcde”, str[20]=”xyz”; 则执行语句:printf(“%d”, strlen(strcpy(str1,str2)));输出结果是_______A,9 B,3 C,5 D,817、以下不能对二维数组a进行正确初始化的语句是_______A,int a[2][3]={0} B, int a[ ][3]={{1,2},{0}}C, int a[2][3]={{1,2},{3,4},{5,6}} D, int a[ ][3]={1,2,3,4,5,6}18、在C语言中,二维数组在内存中的存放顺序是_______A,按行存放B,按列存放C,由用户自己定义D,由编译器决定19、选择正确的说明语句A,int a[‘a’] B,int a[3,4] C,int a[ ][ ] D,int a(*a)[10]20、已知:char s[10],*p=s, 则在下列语句中,错误的语句是_______A,p=s+5; B,s=p+s C, s[2]=p[4] D, *p=s[0]21、C语言主函数main最多允许有_______个参数A,1 B,2 C,0 D,322、已知:int x[ ]={1,3,5,7,9,11},*ptr=x; 则能正确引用数组元素的语句是_______A,x B, *(ptr--) C,x[6] D, *(--ptr)23、下列结论中正确的有_______A,所有的递归程序均可以采用非递归算法实现B,只有部分递归程序可以用非递归算法实现C,所有的递归程序均不可以采用非递归算法实现D,以上说法都不对24、在C语言的函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了funA,则_______A,称为函数的直接递归B,称为函数的间接递归C,称为函数的递归定义D,C语言中不允许这样的递归形式二、阅读程序1、编译执行下列程序,结果是# include <stdio.h>main( ){int i=6, y=4,z=2; pintf (“%d\n”, i/y%z);}A,错误信息,不能执行B,0 C,1 D,22、下面程序的输出是# define SUB(X,Y) (X)*Ymain( ){ int a=3,b=4;printf(“%d\n”,SUB(a++,b++) );}A,12 B,15 C,16 D,203、阅读程序,选择运行结果# include <stdio.h>main( ){ char c=’A’;if (‘0’<=c<=’9’)printf (“YES”);elseprintf (“%d,%d\n”,a,b);}A,YES B, NO C, YESNO D, 语句错误4、阅读程序,选择运行结果# include <stdio.h>main( ){ int a, b,c;a=1; b=2; c=3;if (a>b)if(a>c)printf(“%d”,a);else printf (“%d”,a);printf (“%d\n”,c);}A, 1 2 B, 2 3 C,3 D, 以上都不对5、若运行下列程序时,输入以下指定数据,请选择正确的执行结果# include <stdio.h>main( ){ int s;while( (s=getchar( ) )!=’\n’){ switch (s-‘2’){ case 0:case 1: putchar (s+4);case 2: putchar(s+4); break;case 3: putchar (s+3);default: putchar(s+2); break;}}printf(“\n”);}自第一列开始输入:2473〈CR〉A,6688766 B,66778777 C,668966 D,668977 6、下面程序的运行结果是# include <stdio.h>main( ){ int i=1;while (i<=15)if (++i%3!=2) continue;else printf(“%d”,I);printf(“\n”);}7、下面程序的运行结果是# include <stdio.h>void main( ){ int j,i,k=0;for (j=11; j<=30; j++){ if (k%10= =0) printf(“\n”);for (i=2; i<j; i++)if (!(j%i) ) break;if (i>=j-1){printf (“%d\t”, j);k++;}}}8、请选择下列程序的运行结果# include <stdio.h>fun(int *p){ int a=10;p=&a;++a;}main( ){ int a=5;fun(&a);printf (“%d\n”, a);}A,5 B, 6 C, 10 D, 119、请选择下列程序的运行结果# include<stdio.h>try ( ){ static int x=3;x++;return (x);}main( ){ int i, x;for (i=0; i<=2; i++)x=try( );printf (“%d\n”, x);}A, 3 B, 4 C, 5 D, 610、请选择下列程序的运行结果# include<stdio.h>int d=1;fun(int p){int d=5; d+=a++;printf (“%d “,d)}main( ){ int a=3;fun(a);d+=a++;printf (“%d”,d);}A, 8 4 B,9 6 C, 9 4 D, 8 5 11、写出程序执行结果# include <stdio.h>main( ){ int x=10;{ int x=20;printf (“%d, “, x);}printf (“%d\n”, x);}12、写出程序执行结果# include <stdio.h>main( ){ int x=1;void f1( ), f2( );f1( ); f2(x);printf (“x=%d\n”, x);}void f1(void){ int x=3;printf (“x=%d\t”, x);}{ printf (“x=%d\t”,++x);}13、请选择下列程序的运行结果# include <stdio.h>main( ){ int i, k, a[10], p[3];k=5;for (i=0; i<10; i++)a[i]=i;for (i=0; i<3; i++)p[i]=a[i*(i+1)];for (i=0; i<3; i++)k+=p[i]*2;printf (“%d\n”, k);}A, 20 B,21 C, 22 D, 2314、写出程序执行结果# include “stdio.h”main( ){char str[30];gets(str);printf (“%s\n”, str);}运行程序,输入:Fortran Language15、写出程序执行结果# include <stdio.h># include <string.h>main ( ){ char str[100]=”How do you do”;strcopy (str+strlen(str)/2, ”es she”);printf (“%s\n”,str);}16、下面程序的功能是把字符串s中所有的‘c’删除。
C语言程序设计试题及答案解析
C语言程序设计试题及答案解析第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp 35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp 36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++)42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
C语言程序设计试题含答案
C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.下面标识符中,可以作为合法变量名的是( )。
答案:B 知识点:【24010201】知识考核要求:【2】能力考核要求:【1】难度系数:【A】A.m@qB.Mo_dayC.mn/5D.char2.设有如下语句:int s,num;s=1005;num=2;则表达式(float)s/num的值是()。
答案:C 知识点:【24030704】知识考核要求:【2】能力考核要求:【1】难度系数:【A】A.502.000000B.502C.502.500000D.503.0000003.设有如下定义语句:chara[10]="ABC";则printf("%s" , a+1);的输出结果为( )。
答案:D 知识点:【24040101】知识考核要求:【3】能力考核要求:【1】难度系数:【B】A.ABCB.CC.ABD.BC4.下列语句的输出结果是()。
inta=0123,b=0456;printf("%o\n",b-a);答案:C 知识点:【24040101】知识考核要求:【3】能力考核要求:【1】难度系数:【B】A.0456B.0123C.333D.5795.以下的for语句循环执行的次数是()。
for(x=0,y=0;(y!=20&&(x<20));x++);答案:C 知识点:【24040301】知识考核要求:【3】能力考核要求:【1】难度系数:【C】A.无限次B.不确定C.20次D.19次6.关于局部变量,下列说法正确的是()。
答案:C 知识点:【24060301】知识考核要求:【3】能力考核要求:【3】难度系数:【B】A.定义该变量的程序文件中的函数都可以访问B.定义处以下的任何语句都可以访问C.形式参数也是一种局部变量,可用于函数之间传递数据D.定义在复合语句中的局部变量,允许在该复合语句外访问7.有如下语句:chars[20]="welcome";char*ps=s;则不能引用字母c的表达式是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A. 3 2 1
B. 2
C. 死循环
D. 3
11.以下关于循环语句的说法中正确的是_________。 A. 在 C 语言中只能用 do、do-while 或 for 语句实现循环结构 B. while 语句的循环体至少会被执行 1 次
第1页共7页
1/7
C. for 语句的循环体至少会被执行 1 次 D. do-while 语句的循环体至少会被执行 1 次
南京理工大学紫金学院课程考试试卷(学生考试用)
课程名称: C 语言程序设计
学分: 5.0 教学大纲编号: 06000702
试卷编号: 2009 A 考试方式: 笔试 满分分值: 100 分 考试时间: 120 分钟
组卷日期:2009 年 6 月 15 日 组卷教师(签字):
审定教师(签字):
学生班级:
c.寄存器变量
d.静态局部变量
19.struct student
{int num; char name[10];
}stu={1, "Mary"}, *p=&stu;
则下列语句中错误的是_________。
A. printf("%d", stu.num); B. printf("%d", (&stu)->num);
的输入数据是________。(_代表“空格”键,<CR>代表“回车”键)
A. 45_678<CR> B. 45<CR>678<CR>
C. 45,678<CR>
D.045678<CR>
8.如果未对函数的返回值类型作说明,则该函数的返回值类型被认为是
。
a.char 类型
b.int 类型
c.void 类型
C. printf("%d", &stu->num);
D. printf("%d", p->num);
20.以下声明语句中,用于声明一个行指针变量的是_______。
A. int *p(int);
B. int *p; C.int (*p)[3];
12.已有声明" int a[5]; "以下表达式中不能正确取得 a[1]地址的是_________。
A. &a[1]
B. ++a
C.&a[0]+1
D. a+1
13.若有数组定义"static char A[]="ABCDEF", B[]={'A','B','C','D','E','F'};",则数组 A 和数组 B 的长度
d.任意类型
9.以下关于 C 语言语句的叙述中正确的是_______。
A. 所有语句都包含关键字
B. 所有语句都包含表达式
C. 所有语句都可以出现在源程序中的任何位置
D. 所有语句都以分号结束
10.程序段" int x=3; do{ printf("%d", x______。
7.运行以下程序时
#include<stdio.h>
main( )
{ int a; float b;
scanf("%3d%f", &a, &b); printf("%d\t%f", a, b);
}
若要求变量 a 和 b 分别从键盘获得输入值 45 和 678.0,则以下四种输入数据中,不能达到该要求
C.!(a>=b)&&!(b>=c) D. !(a>=b||b>=c)
6.以下叙述正确的是_____________。
A. 一个用 C 语言编写的程序在运行时总是从 main 函数开始逐条执行语句的
B. main 函数是系统库函数
C.main 函数中每行只能出现一条语句
D.main 函数必须 出现在所有其他函数之前
分别是________。
A. 7,7
B. 6, 7
C. 6,6
D. 7,6
14.若有声明语句"char s1[10]={0},s2[10]="books";"则能将字符串"books"赋给数组 s1 保存的表达式是
_________。
A. s1="books";
B. strcpy(s2, s1);
C. s1=s2; D. strcat(s1, s2);
B. 在 fun 函数之外,可用变量名 a 直接引用 a 的值
C. 在其他函数中,可以出现声明 double a=2.5;
D. fun 函数的形式参数不能取名为 a
18.在 C 程序中, 每种变量都由各自的有效作用范围和生存期, 其中 在整个程序运行过程中
都存在,但只在函数调用时有效。
a.自动变量
b.静态全局变量
C. _float
D. sizeof
4.若有声明" int x=3, y=4; ",则表达式"x<y?x++:y++"的值是_________。
A. 2
B. 3
C. 4
D. 5
5.以下表示数学式" a<b<c "的 C 语言逻辑表达式中,错误的是________。
A. a<b<c
B. a<b&&b<c
学生学号:
学生姓名:
一、 选择填空题(每小题 1 分,共 30 分)
1.已知有声明" char c='1'; int x=300; float t=35000; double d=3.1234567e10;",则以下表达式求值时除
______外其结果都可能是不准确的。
A. x=t/c
B. t=d/x
15.以下关于函数形式参数的声明中正确的是________。
A. int a[]
B. int a[][]
C. int a[]={0} D. int a[2][]
16.已知有函数 f 的定义如下:
int f(int a, int b)
{ if(a<b) return (a, b);
else return (b,a); }
C. t=d/1e5f
D. t=x+c
2.已知有声明语句 int x=8; 则下列表达式中,值为 2 的是_______。
A. x+=x-=x
B. x%=x-2
C.x>8?x=0:x++
D.x/=x+x
3.以下标识符中不能用做变量名或自定义函数名的是___________。
A. main
B. scanf
在 main 函数中若调用函数 f(2,3),得到的返回值是__________。
A. 2
B. 3 C. 2 和 3 D. 3 和 2
17.若有函数 fun 的定义为:
void fun(……)
{static int a=1;
……
}
则下列叙述中不正确的是________。
A. 在每次调用 fun 函数时,变量 a 的值是上次调用结束时 a 的值