《C语言程序设计》试题3及答案
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时值为“真”,否则为“假”的表达式是:( )。
《C语言程序设计》试题3及答案
三一.单项选择题?1.设int x=1,y=1;表达式(!x++ || y--)的值是_________??? A.0???? B. 1?????? C. 2???? D.-12.main( )? {? int n;???? ( n=6*4,n+6),n*2;???? printf(“n=%d\n”,n);? }?? 此程序的输出结果是______________.?? A.30??? B.? 24???? C.? 60????? D.? 483.若有如下定义,则__________是对数组元素的正确的引用。
?? int? a[10] , *p ;?? p=a ;?? p=a ;?? p=a ;?? p=a ;?? A.? *&a[10]???? B.? a[11]????? C.? *(p+10)????? D. *p4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________ ?? A.? 0???? B.? 4??? C.? - 4???? D.? 2???? 5.以下不能正确定义二维数组的语句是___________??? 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}}; 6.程序段??? ??????的功能是将变量 u 、s中的最大值赋给变量t 。
??????? A.? if(u>s) t=u;t=s;?????? B. ?t=u;?? if(t ) ?t=s;???? ?C.? if(u>s) t=s;else t=u;? ??D . ?t=s; if(u ) ?t=u;7.下列程序段的输出结果是???? ??????。
void main(){?? int k;for (k=1;k<5;k++〉{ ?if(k%2!=0)??printf("#");else ??printf(“*”) ;? } }A. #*#*????? B . *#*#??? C.? ##?????? D. 以上都不对8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是? (35)??? 。
国开《C语言程序设计》(形考任务三)试题及答案
一、选择题(共30分,每小题2分)试题1在下面的函数声明语句中,存在着语法错误的是()。
选择一项:a. AA(int a, int b)b. AA(int, int)“c.AAfint a; int b)d.AA(int a, int)试题2在下面的保留字中,不能作为函数的返回值类型的是()。
选择一项:a. void° b.int'* c.enumd.long试题3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为()<•选择一项:r a.lr b.2& c.4r d.8试题4假定a为一个数组名,在下面的表达式中,存在语法错误的是()o选择一项:'aa[i]b. *a+ +}return s;}计算出l+x+x2+...+x n的值并返回。
试题37int SG(int x) ( //x为大于等于2的整数int i=2;while(i*i<=x) (if(x%i ==O) break;i++;)if(i*i<=x) return 0; else return 1;}判断x是否为一个质数(素数),若是则返回1,否则返回0。
试题38int WB(int a[]z int n, int x) (for(int i=0;i<n;i + +)if(a[i] ==x) return 1;return 0;)从数组a[n]中顺序查找值为x的元素,若查找成功则返回1,否则返回0。
试题39int fun(int m, int n) (int c=0;static int b=2;if(m<b || n<b) return m*n;else if(m%b==0 && n%b==0) {c=b; return c*fun(m/b,n/b);}else (b++; return fun(m,n);})一个递归函数过程,求出两个自然数m和n的最小公倍数。
3试题 c语言试题以及答案
参考答案:错
对
错
第5题:在标准C中,“=”是判断两个数是否相等。
参考答案:错
对
错
第6题:在标准C语言中,指针函数参数传递是单向传递,且传递的是变量的地址
参考答案:对
对
错
第7题:EOF能够被识别为常量
参考答案:对
对
错
第8题:对于定义int *p赋初值;则初值是赋给P变量的。
参考答案:对
对
错
第9题:C语言中数据的存储结构是指数据的逻辑结构在内存中的表示
参考答案:对
第2题:下面程序的输出结果是:
#include<stdio.h>
int func( int a, int b)
{
int c;
c=a+b;
return c;
}
main()
{
int x=6, y=7, z=8, r;
r=func(x--+y--,z--);
A、for (;;x+=i);
B、while (1) x++
C、for (i=10;;i--) sum+=i;
D、for (;(c=getchar())!='\n';) printf("%c",c);
第10题:字符串指针变量中存入的是
参考答案:A
A、字符串的首地址
B、字符串
C、第一个字符
D、字符串变量
--------------------------------------------------------------------------------
《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]
第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。
C语言程序设计题库及答案
第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
国家开放大学电大《C语言程序设计》期末考试及答案参考
[试题分类]:C语言程序设计1.下列关于C语言中main函数位置的叙述中,正确的是A. 必须在程序的最后B. 必须在程序的开始处C. 可以在程序中的任意位置D. 必须在系统调用的库函数后面答案:C题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,不能作为C语言标识符是A. _xB. intC. a_1D. ab1exe答案:B题型:单选题知识点:第2章 C语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i*f”的数据类型为A. intB. floatC. doubleD. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:14.判断char型变量c是否为小写字母的正确表达式为A. 'a'<=c<='z'B. (c>=a)&&(c<=z)C. ('a'>=c)('z'<=c)D. (c>='a')&&(c<='z')答案:D题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int x=11;”,则表达式“(x++*1/3) ”的值是A. 12B. 11C. 4D. 3答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是A. 1B. 2C. 3D. 4答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, x=35;”,则执行下列程序段后,变量x的值是if(!a) x--; else if(b);if(c) x=3; else x=4;A. 3B. 4C. 34D. 35答案:B题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=1;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;case 3: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=2,y=1B. x=2,y=2C. x=6,y=6D. x=7,y=7答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf ("%d",i);”时的循环次数是A. 3B. 2C. 1D. 0答案:C题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",n--);”后的输出结果是A. 20B. 31C. 210D. 321答案:B题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x+=1);\} while(--x);}A. 4B. 4 4C. 4 4 4D. 死循环答案:D题型:单选题知识点:第6章循环结构的程序设计难度:212.若有定义“char a[]="xyz",b[]={'x','y','z'};”,则下列叙述中正确的是A. 数组a的长度大于数组b的长度B. 数组a的长度小于数组b的长度C. 数组a和数组b的长度相同D. 数组a和数组b等价答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6\}\}, i,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<4;i++) s+=aa[i][0];}A. 20B. 19C. 13D. 11答案:C题型:单选题知识点:第7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值答案:B题型:单选题知识点:第8章函数难度:115.下列各函数首部中,正确的是A. void play(var :Integer,var b:Integer)B. void play(int a,b)C. Sub play(a as integer,b as integer)D. void play(int a,int b)答案:D题型:单选题知识点:第8章函数难度:116.若有定义“int n=2,*p=&n,*q=p; ”,则下列选项中,非法的赋值语句是A. p=n;B. p=q;C. n=*q;D. *p=*q;答案:A题型:单选题知识点:第9章指针难度:217.若有定义“int *p[3]; ”,则下列叙述中正确的是A. 定义了一个类型为int的指针变量p,该变量具有三个指针B. 定义了一个名为*p的整型数组,该数组含有三个int类型元素C. 定义了一个指向一维数组的指针变量p,该一维数组应具有三个int类型元素D. 定义了一个指针数组p,该数组含有三个元素,各元素都是基类型为int的指针答案:D题型:单选题知识点:第9章指针难度:218.下列对枚举类型名的定义中正确的是A. enum a={one,two,three};B. enum a {one=9,two=-1,three};C. enum a={"one", "two", "three"};D. enum a{"one", "two", "three"};答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , *p=stu;则下列表达式中,值为1002的是}A. p++->numB. (p++)->ageC. (*++p).numD. (*p).num答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数fopen中第一个参数的是A. "c:\\user\\text.txt"B. c:\user\text.txtC. "c:\user\text.txt"D. c:user\text.txt答案:A题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为偶数的关系表达式为__________。
C语言程序设计模拟试题3(附答案)
《C语言程序设计》模拟试卷三一、填空题。
(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。
2.一个C语言文件就是由若干个组成。
3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。
4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。
5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。
p与s就是基类型为int得指针变量。
请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。
(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。
二、单项选择题。
(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。
A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。
A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。
A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。
A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。
《C语言程序设计》期末考试试卷以及答案提示(共五篇)
《C语言程序设计》期末考试试卷以及答案提示(共五篇)第一篇:《C语言程序设计》期末考试试卷以及答案提示一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 B。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序(任何程序都可以,不算特点)C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是 DA、ABCB、abcC、a_bcD、ab.c(只能是字母,下划线,数字;另外数字不可开头)3、一个C语言程序是由B。
A、一个主程序和若干子程序组成B、函数组成 C、若干过程组成 D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 B A、有零个或多个输入B、有零个或多个输出(有一个或多个输出)C、有穷性D、可行性5、设变数a是整型,f是实型,i是双精度型,则表达式10+…a‟+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类型要转换为高类型)6、在C语言中,char型数据在内存中的存储形式是 D。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是B。
#include main(){ int x;float y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由scanf语句可知取三位数值给X)8、若有以下定义int a,b;float x,则正确的赋值语句是B。
A、a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、b=int(x);(右侧要是确切的值)9、以下程序的执行结果是A。
#include { int i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、11,9D、10,9(i是先加一再使用,j是先使用再减一)10、巳知字母A的ASCII码是65,以下程序的执行结果是D。
C语言程序设计试题及答案解析
C语言程序设计试题一、选择题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时值为“真”,否则为“假”的表达式是:( )。
国家开放大学电大考试《C语言程序设计》题库及答案
《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 43.字符串"a+b=12\n"的长度为(B)。
A. 6B. 7C. 8D. 94.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if5.在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i<10);A. 8B. 9C. 10D. 116.将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )7.若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。
9.假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p 指向s所指向的字符串,则p应定义为(A)。
A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。
c语言程序设计试题及答案
c语言程序设计试题及答案第一章基础知识一、填空1.每个C程序都必须有且仅有一个________函数。
2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3.软件是程序,以及______、使用和维护所需要的所有文档。
4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类6.C语言是由________组成的。
7.C语言的函数可分为主函数main、标准库函数和_________。
8.一个函数是由两部分组成的,即:________和函数体。
9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14.C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
3套 《C语言程序设计》试卷+参考答案
一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。
(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。
(B)所有的函数都不能嵌套定义,但可以相互调用。
(C)函数的实参应与其对应的形式参数类型一致。
(D)函数可以不加函数返回值类型标识符。
8.一个C程序的执行是。
(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。
大学C语言程序设计考试试题及答案3套
main()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if (i==j) sum=sum+a[j]; printf(“sum=%d\n”,sum);
} 四、编程题(本大题共 4 题,每题 8 分,共 32 分) 1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示 对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。 2、试编程判断输入的正整数是否既是 5 又是 7 的正倍数。若是,则输出 yes;否则输 出 no。 3、判断数 m 是否为素数(只能被 1 和它本身整除的整数)? 4、对 15 个数进行排序,按从小到大的顺序输出。 《C 语言程序设计》期末考试试卷(A 卷)评分标准及标准答案 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、 B 2、 D 3、 B 4、 B 5、 C 6、 D 7、 B 8、 B 9、 A 10、D 11、C 12、D 13、D 14、C 15、D 16、C 17、C 18、D 19、C 20、B 二、填空题(本大题共 10 空,每空 2 分,共 20 分) 1、 顺序结构 分支结构 循环结构 2、 单精度型(或:float 型) 双精度型(或;double 型] 3、 1 4、
C 语言期末考试试卷
一 单项选择题(每题 2 分,共 40 分)
1 以下叙述正确的是 。 A C 程序基本组成单位是语句 C C 程序每一行只能写一个语句
B 简单 C 语句必须以分号作为结束符 D 注释语句可以嵌套
国家开放大学C语言程序设计章节测试参考答案
国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
2019-北京理工大学-成教-《C语言程序设计》期末测试卷 (3)
[试题分类]:C语言程序设计1.下列选项中,不属于C语言特点的是A. 能实现汇编语言的大部分功能B. 语言简洁、紧凑、使用方便C. 数据类型丰富,可移植性好D. 有较强的网络操作功能答案:D题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,正确的C语言标识符是A. \nB. %dC. _123D. #define答案:C题型:单选题知识点:第2章 C语言概述难度:13.在C语言中,错误的int类型常数是A. 0B. 038C. 0xAFD. 32765答案:B题型:单选题知识点:第3章数据类型与运算规则难度:14.若有定义“int x=5,y=5,z=5;”,执行语句“x%=y+z;”后,x的值是A. 6B. 5C. 1D. 0答案:B题型:单选题知识点:第3章数据类型与运算规则难度:25.若有定义“int x=3,y=4,z=5;”,则下列表达式中值不为1的是A. 'x'&&'y'B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.逗号表达式“(a=3*5,a*4),a+15”的值是A. 15B. 60C. 30D. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=1,j=2,k=3;”,则执行下列语句后的输出结果是if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);A. 1 2 3B. 2 3 4C. 2 2 3D. 2 3 3答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=0;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;default: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=6,y=4B. x=2,y=1C. x=3,y=2D. x=7,y=5答案:A题型:单选题知识点:第5章选择结构的程序设计难度:29.语句序列“int i,j; for (i=0, j=1; i<=j+1; i+=2,j--) printf ("%d\n",i);”执行后i的值是A. 3B. 2C. 1D. 0答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",--n);”后的输出结果是A. 20B. 31C. 210D. 321答案:A题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x-=2);\} while(!(--x));}A. 1B. 3 0C. 1 -2D. 死循环答案:C题型:单选题知识点:第6章循环结构的程序设计难度:212.下列关于数组定义、初始化或赋值语句中,正确的是A. int x[5]={1,2,3,4,5,6};B. int n=8; int score[n];C. int a[8]; a[8]=100;D. int x[]={1,2,3,4,5,6};答案:D题型:单选题知识点:第7章数组难度:113.{若有定义“int a[3][3]=\{0,1,2,0,1,2,0,1,2\}, i,j,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<3;i++)for(j=i;j<=i;j++)s=s+a[i][a[j][j]];}A. 9B. 4C. 3D. 1答案:C题型:单选题难度:214.C语言程序中,调用函数时A. 实参和形参共用一个存储空间B. 实参和形参各自占用一个独立的存储空间C. 由用户指定实参和形参是否共用存储空间D. 由系统指定实参和形参是否共用存储空间答案:B题型:单选题知识点:第8章函数难度:115.下述函数首部定义形式正确的是A. int f(int x,y)B. int f(int x; int y)C. int f(x,y: int)D. int f(int x, int y)答案:D题型:单选题知识点:第8章函数难度:116.若p1和p2为指向同一字符串的指针变量,c为字符变量,则下列语句中,不能正确执行的是A. p2=cB. c=*p2C. p1=p2D. c=*p1+*p2;答案:A题型:单选题难度:217.{下列函数的功能是fun(char *p2, char *p1) \{while((*p2=*p1)!='\0') \{p1++; p2++;\}\}}A. 将p1所指字符串的地址赋值给指针p2B. 检查p1和p2所指字符串中是否有'\0'C. 对p1和p2两个指针所指字符串进行比较D. 将p1所指字符串复制到p2所指内存空间答案:D题型:单选题知识点:第9章指针难度:218.下列程序段中,枚举变量c1和c2的值分别是enum color {red, yellow, blue=4, green, white}; enum color c1=yellow, c2=white;A. 2,6B. 1,6C. 2,5D. 2,4答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} data , *p=&data;则下列选项中,引用data中成员num正确的是}A. (*p).data.numB. p->data.aC. p.data.aD. (*p).a答案:D题型:单选题知识点:第10章结构、联合与枚举类型难度:220.C语言中,对文件进行存取的基本单位是A. 记录B. 字节C. 元素D. 簇答案:B题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为奇数的关系表达式为__________。
C语言程序设计试题附答案3篇
C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。
c语言程序设计编程题库及详解答案
c语言程序设计编程题库及详解答案1. 编写一个C语言程序,实现两个整数的加法运算。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现求一个数的阶乘。
答案:```c#include <stdio.h>int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num)); return 0;}```3. 编写一个C语言程序,实现判断一个数是否为素数。
答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三一.单项选择题1.设int x=1,y=1;表达式(!x++ || y--)的值是_________A.0 B. 1 C. 2 D.-12.main( ){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n”,n);} 此程序的输出结果是______________.A.30 B. 24 C. 60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。
int a[10] , *p ;p=a ; p=a ; p=a ; p=a ;A. *&a[10]B. a[11]C. *(p+10)D. *p 4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________A. 0B. 4C. - 4D. 25.以下不能正确定义二维数组的语句是___________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}}; 6.程序段的功能是将变量 u 、s中的最大值赋给变量t 。
A. if(u>s) t=u;t=s;B. t=u; if(t ) t=s;C. if(u>s) t=s;else t=u; D . t=s; if(u ) t=u;7.下列程序段的输出结果是。
void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf("#");elseprintf(“*”) ; } }A. #*#* B . *#*# C. ## D. 以上都不对8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是(35)。
A. &a[2]B. 4C. 7D. 19.能正确表示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>010.C语言中,合法的字符型常数是_________。
A.‘A’B.“A”C. 65 D. A 11.设有数组定义:cha r array[]=”China”; 则数组所占的空间是________。
A.4个字节B.5个字节 C.6个字节 D.7个字节12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
A.’a’<=c<=’z’B.(c>=’a’) || (c<=’z’)C.(‘a’<=c) and (‘z’>=c)D.(c>=’a’) && (c<=’z’)13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。
A.printf(“x=%d\n”,x)B.printf(“x=%ld\n”,x)C.printf(“x=%8dl\n”,x) D.printf(“x=%LD\n”,x);14.下列关于指针定义的描述,___________是错误的。
A.指针是一种变量,该变量用来存放某个变量的地址值的。
B.指针变量的类型与它所指向的变量类型一致。
C.指针变量的命名规则与标识符相同。
D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。
15.已知:int x; int y[10]; 下列______是合法的。
A.&x B.&(x+3) C.&5 D .&y16.指出下面正确的输入语句__________。
A. scanf(“a=b=%d”,&a,&b) ;B. scanf(“%d,%d”,&a,&b) ;C. scanf(“%c”,c) ;D. scanf(“% f%d\n”,&f) ; 17.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r”B.“w”C.“rb”D.“a”18.Break语句的正确的用法是( )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
19. 为表示关系x≥y≥z,应使用C语言表达式A.(x>=y)&&(y>=z) B. (x>=y) AND (y>=z)C.(x>=y>=z) D. (x>=z)&(y>=z)20.以下可以作为C语言合法整数的是________。
A.1010B B. 0368 C.0Xffa D. x2a221.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态 B. 外部C.自动 D. 寄存器二.判断题1. C 语言源程序文件通过了编译、连接之后, 生成一个后缀为 .EXE 的文件。
( )2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。
()3.在 C 程序中, APH 和 aph 代表不同的变量。
()4.表达式 0195 是一个八进制整数。
()5.表达式 _ya是不合法的C语言标识符。
( )6. C程序总是从main( ) 函数的第一条语句开始执行的。
()7. A-=7等价于a=a-7。
()8.利用fclose函数关闭已打开的文件。
()9.数组名可以作为参数进行传递。
()10.执行printf("%x",12345);, 输出 12345 。
()三、填空1.C语言的预处理语句以__________开头。
2.表达式7+8>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
int n=0, ch;ch=getchar( );while( __________________ ){ if ( ________________ ) n++;c=getchar( ); }4.C语言中putchar(c ) 函数的功能是_________________________________。
5.int *p 的含义是___________________________________________。
6.定义fp为文件型指针变量的定义方法为_______________________。
7.数组 int a[3][4];共定义了____________个数组元素。
四、读出程序。
1. 改正下列程序中不正确的语句。
main(){ int a=8 , b=1;a=a+b; b=a*b;printf("%d, %d",a,b); }2.写出下列程序的运行结果。
fun(int a, int b){ if(a>b) return (a); Else return (b); } main() { int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(“%d\n”,r); }3. 改正下列程序中不正确的语句。
main(){ int n ;float s=1.0; for(n=10;n>1;n- -)s=s+1/n;printf(“%6.1f\n”,s); }4. 写出下列程序的运行结果。
main(){ int n;For(n=3; n<=10; n++) { if(n%5= =0) break; Printf(“%d”,n); } }5.写出下列程序的运行结果。
#include “stdio.h”main(){ int a[]={1,2,3,-4,5};int m,n,*p;p=&a[0]; p=&a[0];m=*(p+2);n=*(p+4);printf(“%d %d %d ”,*p,m,n);}五.编程序1.编程计算下列表达式:s=1!+2!+3!+4!+ (10)2.从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。
例a=2, n=4, 则sum=2+22+222+2222。
3.求3X3矩阵的主对角线元素之和。
4.从键盘上输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。
5.从键盘上输入若干个字符存入文件write.txt中,遇到回车键输入结束。
(用“\n”表示答案一.单项选择题1 B 2B 3D 4C 5D 6C 7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21C二.判断题1√2Ⅹ3√4Ⅹ5Ⅹ6√7√8√9√ 10Ⅹ三、填空1 #号2 03 ch!=’\n’ch>=’0’ && ch<=’9’4 将变量c中的字符显示到屏幕上。
5 指针变量p为整型6 FILE *fp7 12四、读出程序。
1 printf("%d, %d",&a,&b);2 123 s=s+1.0/n4. 3 45 1 3 5五.编程序1.#include "stdio.h"main(){ long s=0,t=1;int i;for(i=1;i<=10;i++){ t=t*i;s=s+t;}printf("%ld",s); }2#include "stdio.h"main(){ int a,n count=1,sn=0,tn=0;scanf("%d %d",&a,&n);while(count<=n) { tn=tn+a;sn=sn+tn;a=a*10;++count; }printf("%d",sn); }3.#include "stdio.h" main(){ int a[3][3],i,j,s=0;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]); for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j)s=s+a[i][j];printf("%d",s); }4.#include "stdio.h"main(){ int a[10],max,min;for(i=0;i<10;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<10;i++)if(a[i]>max)max=a[i];min=a[0];for(i=1;i<10;i++)if(a[i]<min)min=a[i];printf("%d %d",max,min); } 5.#include "stdio.h"main(){ int c;FILE *fp;fp=open("write.txt","w");c=getchar();while(c!='\n'){ fputc(c,fp);c=getchar();}fclose(); }。