《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..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) 变量sum和变量SUM代表相同的变量B) 不同类型的变量可以出现在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义2.一个C程序的执行是从( )。
A) main函数开始,直到main函数结束B) 第一个函数开始,直到最后一个函数结束C) 第一个语句开始,直到最后一个语句结束D) main函数开始,直到最后一个函数结束3.一个C语言程序是由( )。
A)一个主程序和若干子程序组成B)若干子程序组成C) 一个或若干个函数组成D) 若干过程组成4.下列可用于C语言变量名的是( )。
A) int B) a2 C) M.D.John D) 2a5.以下不正确的语句(设有int p,q)是( )。
A)p+=3; B) p=p/q;C) p=3; D) p/q=q;6.C语言中对嵌套if语句的规定是:else总是与( )配对。
A)第一个if B) 缩进位置相同的ifC) 其之前最近的if D) 其之前最近且不带else的if7.以下说法正确的是( )。
A) 输入项可以为一个实型常量,如scanf("%f",3.5);B) 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D) 当输入数据时,必须指明变量的地址,如scanf("%f",&f);8.若有代数式3ae/(bc),则不正确的C语言表达式是( )。
A) a/b/c*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*39.下列程序的输出结果是( )。
C语言程序设计复习题(一)1的阅读程序部分
} case 2: printf("third\n"); } } 结果:first third 4.下列程序运行结果是【 -1 】 。 #include<stdio.h> main( ) { int n=4; do n--; while (n); printf("%d\n",--n); } 5.下列程序运行结果是【 】 。 #include<stdio.h> dec( ) { static int x=5; x--; printf("%d",x); } main( ) { int k; for(k=0;k<3;k++) dec( ); } 结果:4 3 2 五.程序填空(请依题意,将程序中括号部分补充完整。每题 3 分,共 15 分) 1. 一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最 小数。 #include <stdio.h> main() { int n; n=1; while (1) { n=n+1; if 【 (1) (n+3)%5==0&&(n-3)%6==0 】break; } printf("n=%d",n); } 2.将两个字符串合并成一个字符串。 #include <stdio.h> main() { char s1[20],s2[20],s3[40]; int i,j; printf("String1:"); gets(s1); printf("String2:》复习题(二)
一.单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答 案的题号,填入题中的括号内。多选不给分。每题 1 分,共 20 分) 1.在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式 中包含有 int、 long、 unsigned、 char 类型的变量和数据, 则表达式最后的运算结果是 【 ④ 】 类型数据。 ① int ② char ③ unsigned ④ long 2.若 int 型数据占 2 个字节,则以下语句的输出为 【 ④ 】 。 int k=-1; printf(“%d,%u\n”,k,k); ① -1,-1 ② -1,32767 ③ -1,32768 ④ -1,65535 3.设 x 和 y 均 为 int 型 变 量 , 则 执 行 以 下 语 句 后 的 输 出 为 【 ① 】 。 x=1 5; y=5 ; pri ntf( “ %d\n ” ,x%= (y%= 2)); ① 0 ② 1 ③ 6 ④ 12 4.若 x 为 uns igned in t 型 变 量 , 则 执 行 以 下 语 句 后 的 x 值 为 【 ④ 】 。 x=6 5535; pri ntf( “ %d\n ” ,x); ① 65535 ② 1 ③ 无定值 ④ -1 5 . 判断 char 型变量 c1 是否为小写字母的最简单且正确的表达式为【 ④ 】 。 ① ’a’<=c1<=’z’ ② (c1>=a)&&(c1<=z) ③ (‘a’<=c1)||(‘z’>=c1) ④ (c1>=’a’)&&(c1<=’z’) 6 . 以下不正确的 if 语句是【 ③ 】 。 ① if (x>y); ② if (x= =y) x+=y; ③ if (x!=y)scanf(“%d”,&x) else scanf(“%d”,&y); ④ if (x<y) {x++;y++;} 7 . C 语言对嵌套 if 语句的规定是:else 总是与【 ④ 】 配 对 。 ① 其 之 前 最 近 的 if ② 第 一 个 if ③ 缩 进 位 置 相 同 的 if ④ 其 之 前 最 近 且 不 带 else 的 if 8 . 设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为【 ② 】 。 switch(a>0) { case 1: switch(b<0) { case 1: prin tf(“@”); break; case 2: p rintf(“!”); b reak; } case 0: switch(c==5) { case 0: prin tf(“*”); break; case 1 : p rintf(“#”); b reak; default:printf(“$”); break; } defau lt: p rin tf(“&”); } ① @#& ② #& ③ *& ④ $& 9 . 若有说明语句:int w=2,x=3,y=3,z=4;则表达式 w>x?w:z>y?z:x 的值是 【 ① 】 。 ① 4 ② 3 ③ 2 ④ 1 10.下面有关 for 循环的正确描述是【 ④ 】 。 ① for 循环只能用于循环次数已经确定的情况 ② for 循环是先执行循环体语句,后判定表达式
(完整版)《C语言程序设计》复习参考答案
第一章【随堂练习1-2】1 .下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:in elude、main、prin tf、sca nf用户自定义标识符:a、b、c3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、函数体语句(说明语句、可执行语句) 。
答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
一. 单元练习一. 选择题1构成C语言程序的基本单位是()。
A .框架B .预处理C.函数 D .语句2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()°A. 编辑B.编译C.连接D.运行3 •关于主函数,下列说法不正确的是()°A. —个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是m ai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()°A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C. 用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()°A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10二. 填空题1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为°2.____________________________________ C语言程序中每条语句必须以结束。
C复习练习题最新版
C程序设计期末复习题一、填空题1. C语言符号集包括(英文字母,数字,下划线和一些有特定含义的标点符号)。
2. 一个C程序有且只有一个(主函数)。
main()3. 结构化设计中的三种基本结构是(顺序结构,选择结构,循环结构)。
4. 设int x=9,y=8;表达式x==y+1的结果是(1).5. 定义int x,y;执行y=(x=1,++x,x+2);语句后,y的值是(4)。
6. 以下程序运行的结果是(end)。
# include <stdio.h>main( ){int a,b,c;a=2;b=3;c=1;if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",b);printf("end\n");}7. 以下程序运行的结果是(d=20)。
# include<stdio.h>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”,d);}8. 以下程序(当输入值为2,1时)运行的结果是(s=2,t=3)。
# include<stdio.h>main( ){int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a>0) s=s+1;//s=2if(a>b) t=s+1;//t=3else if (a==b) t=5;else t=2*s;printf("s=%d,t=%d\n",s,t);}9. 以下程序运行的结果是(s=7)。
# include<stdio.h>main( ){int s=0,k;for (k=7;k>=0;k--){switch(k){case 1:case 4:case 7:s++;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;} }printf("s=%d\n",s); }10. C语言源程序文件的后缀是(.C ),经过编译后生成文件的后缀是( .obj ),经过链接后生成的文件的后缀是( .exe )。
中国石油大学《C语言程序的设计》期末复习试题与答案
《C语言程序设计》期末复习题一、选择题1.能将高级语言编写的源程序转换成目标程序的是()A.程序 B. 解释程序 C. 编译程序 D.编辑程序2.设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)3.当调用函数时,实参是一个数组名,则向函数传送的是( )。
A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值4.执行下面的程序段后,k的值是()int k=1,n=325;do { k*=n%10;n/=10;}while(n);A. 3B. 30C. 523D. 3255.若有以下数组说明,则i=6;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.3B.8C.6D.56.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()A. for(i=1,p=1;i<=5;i++) p*=i;B. for(i=1;i<=5;i++){ p=1; p*=i;}C. i=1;p=1;while(i<=5){p*=i; i++;}D. i=1;p=1;do{p*=i; i++; }while(i<=5);7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: ( ) A. 12 B. 3 C. 4 D.无确定值8.设有如下程序段,则执行p=s;语句后,以下叙述正确的是( )。
char s[20]= “Bejing”,*p;p=s;A.可以用*p表示s[0]B.s数组中元素的个数和p所指字符串长度相等C.s和p都是指针变量D.数组s中的容和指针变量p中的容相等9.以下正确的函数定义是( )。
c语言程序设计试题及答案解析
c语言程序设计试题及答案解析C语言程序设计试题及答案解析一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C2. C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 若有以下C语言代码段:```cint a = 5, b = 10;printf("%d", a + b);```执行后输出的结果是______。
答案:15三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储具有相同类型的多个元素。
数组的定义方式为:类型名数组名[数组大小];初始化方式可以是静态初始化,即在定义时直接赋值,如:int arr[5] = {1, 2, 3, 4, 5}; 或者动态初始化,即在定义后使用循环或赋值语句逐一赋值。
四、编程题1. 编写一个C语言程序,实现求一个整数的阶乘。
```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```五、分析题1. 请分析以下C语言代码段的运行结果,并解释原因。
```c#include <stdio.h>int main() {int x = 10;printf("%d", x++);return 0;}```答案:代码段的运行结果是10。
大学c语言程序设计考试试题
大学c语言程序设计考试试题一、单项选择题(每题2分,共20分)1. C语言中,一个整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节2. 下列哪个关键字用于定义一个类?A. structB. classC. unionD. enum3. 在C语言中,用于计算两个浮点数平均值的函数是:A. pow()B. sqrt()C. fabs()D. average()4. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. readline()5. 在C语言中,字符串的结束标志是:A. 'E'B. '\n'D. '\0'6. 下列哪个是C语言中的合法标识符?A. 2classB. class2C. class+2D. class=27. C语言中,数组的下标默认从哪个数字开始?A. 0B. 1C. -1D. 随机数8. 在C语言中,sizeof运算符的作用是:A. 返回变量的类型B. 返回变量的值C. 返回变量的内存大小D. 返回变量的地址9. 下列哪个不是C语言中的控制流语句?A. ifB. forC. whileD. switch10. C语言中,函数的返回值类型定义在函数名的:A. 前面B. 后面C. 上面D. 下面二、填空题(每空3分,共30分)11. 在C语言中,使用________运算符可以实现逻辑与功能。
12. 当需要频繁修改数组中的元素时,应使用________类型的数组,以提高程序的运行效率。
13. C语言中,函数________可以用来获取字符串的长度,但不包括字符串结束标志'\0'。
14. 在C语言中,________关键字用于声明一个函数。
15. 一个C语言程序的执行是从________函数开始的。
16. 在C语言中,________关键字用于声明一个结构体。
c语言程序设计试题及答案
c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。
(完整版)C语言程序设计+复习题库
(完整版)C语言程序设计+复习题库一、填空1.break语句通常用于switch // 循环中。
2. C 语言对数组下标的引用一般从0 开始。
3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
4.C标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在math.h头文件中。
5.C程序的运行需要经过编译和链接两步进行。
6.C程序中用/**/ 括起来的内容是程序的注释语句。
7.C语言函数是由函数首部和函数体两部分组成。
其中,函数首部包括函数类型、函数名和函数参数。
8.C语言提供的三种逻辑运算符是&,//,!。
9.C语言源程序经过编译后,生成文件的后缀名是 .c 。
10.C语言源程序经过连接后,生成文件的后缀名是 .exe 。
11.C语言中,关系表达式和逻辑表达式的值是1//0 。
12.C语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。
13.C语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。
14.C语言中函数返回值的类型是由函数类型决定的。
15.C源程序的基本单位是函数。
16.int a = 2, b = 3; 表达式a > b ? a ++ : ++ b的值为 4 。
17.int x=1,y=1,z=1; x+=y+=z; 则表达式x18.当a=3,b=2,c=1时,表达式f=a>b>c的值是0 。
19.定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为int *p=a[6] ; 。
20.定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为int*p[4]; 。
21.赋值语句是由= 加上一个分号构成。
22.构成数组的各个元素必须具有相同的类型。
23.关系表达式x+y>5的相反表达式为x+y!>5 。
24.函数strlen("1234\0xy")的值为:9 。
C语言程序设计试题及答案完整版
C语言复习资料5元必须清楚的: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语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间 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语言程序设计》复习题库1、计算下面公式的值。
T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。
(注:所有变量用float数据类型定义!)答案:1.7172、程序填空:用*号输出字母C的图案。
#include "stdio.h"#include "conio.h"main(){_____________printf(" *\n");__________________________getch();}3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。
编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。
(注:所有变量用long数据类型定义!) 答案:15334594、/*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。
请改正程序中的错误,并运行,最后给出程序运行的正确结果。
(注:只有一处错误!)*/ 答案:6591#include <stdio.h>void main(){int total=0, mc=1, k=700;int pm[10],count=0;while( (k>=2) && mc<=10 ){if ((k%13==0) || (k%17==0)){pm[mc] = k;mc++;}k--;}for( k=1;k<=10;k++ )total += pm[k-1];printf(" %d\n",total);}5、求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。
6、计算如下公式的A20值。
A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。
《C语言程序设计》复习题有答案1
《C语言程序设计》复习题有答案1《C语言程序设计》复习题一、填空题1、 C 语言的源程序必须通过编译和链接后,才能被计算机执行。
2、 C 语言的源程序必须通过编译和连接后,才能被计算机执行。
3、C语言中的标示符可分为关键字、拥护标示符和预定义标识符3类。
4、C语言中的标示符可分为关键字、用户标识符和预定义标示符3类。
5、在C语言中,用关键字 float 定义单精度实型变量。
6、在C语言中,用关键字 double 定义双精度实型变量。
7、在C语言中,用关键字 char 定义字符型变量。
8、在C语言的赋值表达式中,赋值好左边必须是变量。
9、设C语言中的一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768--32768 。
10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为 1 。
11、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为-60 。
12、若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
13、在程序运行过程中,其值不能被改变的量称为常量。
14、C程序中定义的变量,代表内存中的一个存储单元。
15、C语言中,int类型数据字符占内存 2 个字节。
16、C语言中,char类型数据占内存 1 个字节。
17、C语言的字符常量是用单引号括起来的一个字符。
18、语句printf(“\n”);的作用是换行输出。
19、10/3的结果是3 。
20、10%3的结果是 1 。
21、C语句的最后用;结束。
22、要使用putchar函数,在#include命令行中应包含的头文件是#include。
23、要使用getchar函数,在#include命令行中应包含的头文件是#include。
24、为表示关系|x|≥9;应使用的C语言表达式是x<=-9 || x>=9 。
25、为表示关系|x|≤9;应使用的C语言表达式是x>=-9&&x<=9 。
《C语言程序设计》复习题
《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
(B)3.注释内容太多会影响程序的执行效率。
(B)4.变量要“先定义,后使用”。
(A)5.字符常量'a'与字符串常量"a"没有区别。
(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。
(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。
(A)8.表达式5/2+5.0/2+7%6 的值为5.5。
(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。
(B)10.设int a=12; 则表达式a/=a+a的值是0.5。
(B)11.在C语言中,运算符!比&&的优先级高。
(A)12.在C语言中,运算符的优先级最小的是逗号运算符。
(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。
(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。
C语言程序设计复习题
《C语言程序设计》(A )卷复习题一、单选题1.下列特性中,C与C++共有的是( D )A.继承B.封装C.多态性D.函数定义不能嵌套2.类的指针成员的初始化是通过函数完成的,这个函数通常是( B )A.析构函数B.构造函数C.其它成员函数D.友元函数3.有关const对象和const成员数据,下列说法不正确的是( C )A.const成员数据不能在定义类时直接赋值B.const对象中的成员数据不能重新赋值C.const对象可以调用它的任何一个成员函数D.const成员数据,只能在构造函数中用初始化列表的方法对它初始化。
4.静态成员函数没有( B )A.返回值B.this指针C.指针参数D.返回类型5.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( A )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数6.下面叙述不正确的是( D )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的7.在C++中实现封装是借助于( B )A.枚举B.类C.数组D.函数8.所有在函数中定义的变量,都是( B )A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题1.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。
它的特点是:不能改变_成员数据的值_也不能调用类中_ 非const __成员函数。
2.一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数 __。
3.C++中,虚函数帮助实现了类的_多态_性。
4为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义____ _析构函数_。
5.要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friend void F() 。
c语言程序设计复习题
《C语言程序设计》复习题一、单项选择题1.C语言中用于结构化程序设计的三种基本结构是()(A)顺序结构、选择结构和循环结构(B)if、switch 、break(C)for、while、do-while(D)if 、for、continue2.下列说法正确的是()(A)程序的运行可以从任何函数开始(B)符号常量的值,在程序运行中,可随程序的运行而不断发生变化(C)数组中各元素的值可以由互不相同(D)字符串与字符数组是有区别的3.下列各组中不全是字符常量的是()(A)…A‟, “b” , …2‟ (B) …+‟, …\101‟ , …f‟(C ) ...6‟ , ...\n‟, ...x‟ (D) ...3‟ , ...$‟ , (x41)4.下列各组中不全是合法的变量名的是()(A)day , lotus_1 _2_3 ,x1 (B) Abc, _above , basic(C ) M.John , year , sum (D) YEAR, MONTH, DAY5.下列选项中,不能用作标识符的是()。
(A)_1234 (B) _1_2 (C) int_2_ (D) 2_int_6.以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()(A)a=a+b=b++ (B) w%(int)a+b) (C) (C+W)%(int)a (D) w=a= = b;7.以下选项中属于C语言的数据类型的是()(A)复数型(B)逻辑型(C)双精度型(D)集合型8.下列常量中不能作为C的常量的是()(A)0xa5 (B) 2.5e-2 (C) 3e2 (D) 05829.C语言中,数字029是一个()(A)八进制数(B)十六进制数(C)十进制数(D)非法数10.下列可以正确表示字符型常数的是()(A)“a” (B) …\t‟ (C) “\n” (D) 29711.字符串“\\22a,0\n” 的长度是()(A)8 (B)7 (C)6 (D)512.要判断char型变量m是否是数字字符,下面正确的表达式是()(A)0<=m && m<=9 (B) …0‟<=m && m<=‟9‟(C) “0”<=m && m<= “9” (D) 以上答案均不正确13.下列关于函数说法正确的是()(A)标准库函数在使用时需要声明(B)用户自定义函数在任何情况下都需要声明(C)用户自定义函数如果出现在调用函数之前需要声明(D)用户自定义函数如果出现在调用函数之后需要声明14.在C语言中,函数返回值的数据类型取决于()(A)函数的名字(B)return语句中表达式的数据类型(C)在定义该函数时所指定的数据类型(D)主调函数的数据类型15.设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。
C语言章节习题及答案
《C程序设计》复习题集第2章基础概念一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)2.1以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前定义正确答案: A2.3 以下说法正确的是A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D2.6 下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案: D2.7 以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D2.8 下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,但分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案: B2.9 以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: C2.10 C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-while D)if,for,continue正确答案: A第3章数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)3.1 C语言提供的基本数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B3.2 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C3.3 下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof正确答案: B3.4 下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -123正确答案: D3.5 下列数据中,不合法的C语言实型数据的是A)0.123 B)123e3 C)2.1e3.5 D)789.0正确答案: C3.7 若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A3.8 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为A)6 B)7 C)8 D)9正确答案: D3.9 C语言中运算对象必须是整型的运算符是A)%= B)/ C)= D)<=正确答案: A3.10 若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b正确答案: B3.11 若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1 B)++i; C)a=a++=5; D)a=int(i);正确答案: B3.12 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000 B)2.750000 C)3.500000 D)0.000000正确答案: A3.13 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,<<,^ B)sizeof,<<,^,&= C)^,<<,sizeof,&= D)<<,^,&=,sizeof正确答案: B3.14 以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: D3.15 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)5正确答案: C3.16 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A)int B)float C)double D)不确定正确答案: C3.17 在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码正确答案: D3.18 字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为A)10100011和 01110111 B)01000101和01100011C)00110101和00110111 D)01100101和01100111正确答案: C3.19 不能进行++和- -运算的数据类型为A)指针B)整型C)长整型D)常量正确答案: D3.20 设有int x=11;则表达式(x++*1/3)的值是A)3 B)4 C)11 D)123.21 以下程序的输出结果是main(){ int a=21,b=11;printf("%d\n",- -a+b,- -b+a);}A)30 B)31 C)32 D)33正确答案: A3.22 假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为A)17 B)16 C)15 D)14正确答案: C3.23 已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36 B)0 C)-24 D)-60正确答案: D3.24 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0正确答案: B3.25 sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B3.26下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B)′\0′作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入′\0′D)在C语言中,字符串常量隐含处理成以′\0′结尾正确答案: B3.27 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z 的C语言表达式是A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z正确答案: A3.28 下列关于语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案: C二、填空题3.30 以下程序的输出结果是【1】。
C语言考试复习专用三套题附答案(1)
《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(二)说明语句char s=‘\t’,使s包含了几个字符?。
A)1 B)2 C)3 D)说明有错(三)设a=6,b=4,则表达式b*=a+3A)3 B)18 C)(四)若给定表达式(m)?a++:a--和等价。
A)m==0 B)m!=0 C)m=0 D)m=1(五)设有说明语句int a[10],则数组a包括了个数组元素。
A)1 B)9 C)10 D)20(六)以下函数test返回值类型为。
test(int x){ printf(“%f\n”,(float)x);}A)int B)float C)void D)不确定或错误二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#include <stdio.h>void main( ){ int a=1,b=4,c=2; 运行结果: 1a=(a+b)/c;printf(“%d \n”,--a);}[程序2]void main ( ){ char c1=67; /*‘A’的ASCII码值为65 */if (‘A’ <=c1 && c1<=’Z’) 运行结果: 67,Dprintf(“%d,%c”,c1,c1+1);else printf(“%c”,c1); }[程序3]viod main ( ){ int a=0, n=5; 运行结果: 1,5,4,3,2,0for ( ; ; ){ a++; n--;printf(“%d,”,a);a=n;if (n==0) break;}printf(“%d”,a);}[程序4]main ( ){ int i, j; 运行结果: 1,2,4,8,16,32,64,128,256,512 static int a[10]={1,1,1,1,1,1,1,1,1,1};for (i=0;i<10;i++)for (j=0;j<i;j++)a[i]=a[i]+a[j];for (i=0;i<10;i++)printf(“%d,”,a[i]);}[程序5]int k=2;f (int m) 运行结果: 6,8{ m+=k;k+=m; 5,9printf(“%d,%d \n”,m,k++);}main ( ){ int i=4;for (i++);printf(“%d,%d \n”,i,k); }[程序6]void main ( ){ static int a[10],i; 运行结果: 1 3 5 7 9for (i=0;i<10;i++)a[i]=i+1;for (i=0;i<10;i=i+2)printf(“%d”,*(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10级物流专业(应本)《C语言程序设计》复习题一、单项选择题1、C语言程序的注释的开始标记是()A)| B) ** C) /* D) [2、组成C语言程序的是()A) 子程序B)过程C)函数D)主程序和子过程3、下面不属于C语言保留字的是()A)Int B) else C) extern D) for4、表达式(3!=2)||0的值是()A)TB)FC)0D)15、下列运算符中,运算优先级最高的是()A)++B)==C)?:D)%6、若变量a=2,下列表达式中使b不等于1的是()A)b=a/2 B) b=2-(--a)C) b=a%2 D) b=a>3?2:17、若有以下程序段:int a=35;char c=’A’;int b;b=((a%15)&&(c<’a’)则执行后,b的值是()A)0B)1C)2D)38、若a=6,b=-8,c=3,则表达式’a’&&(a>b)&&(b>c)&&(a-c)的值为()A)0B)1C)TD)F9、下列语句int a=110,b=017;printf(“%x,%d\n”,a++,++b);输出结果是()A) 6e,16 B) 6e,17 C) 6f,16 D) 6f,1710、下面的程序运行的结果是()#include<stdio.h>#include<math.h>main(){int a=1,b=4,c=2;float x=5.5,y=9.0,z;z=(a+b)/c+sqrt((double) y)*1.2/c+x; printf(“%f\n”,z);}A)8.500000 B) 9.300000C) 9.500000 D) 9.60000011、执行下列语句后的结果是()int i=-1;if(i<=0)printf(“&&&&&\n”);elseprintf(“%%%%%\n);A) &&&&&\n B) &&&&&C) %%%%% D)语法错误,无法执行12、有如下程序main (){int x=100;while(x--)printf(“%d\n”,x);}该程序的输出结果是()A)-1B)0C)1D)10013、有以下的定义和语句,则输出是()char s[12]=”a book”;printf(“%d\n”,strlen(s));A) 5 B) 6 C) 8 D) 1214、若定义了函数 int x,则在具体使用中用了(float)x进行强制转换,则变量x的类型是()A)整型B)实型C)无符整型D)双精度类型15、在位运算中,操作数每左移一位,未溢出的情况下其结果相当于()(A)操作数乘以2 (B)操作数除以2(C)操作数除以4 (D)操作数乘以416、不正确的C语言标识符是()A)sum B) KKK1234 C) aBc_101 D) 2sort17、下列说法中,错误的是()A)数据的自动转换,就是整型可自动转换成实型变量B)C语言中的转义字符,就是按变换后的字符输出C)C语言中的转义字符有“\”和“%”D)C语言不会对数组的上、下界进行越界检查18、有整型变量x1、x2、x3、y的值均为5,执行语句if(x1>5)if(x2==5)if(x3<5) y=2;else y=3;后,变量y的值是()A) 5 B) 4 C)3D)219、执行下列循环语句for(i=0;i<5;i++) j=j+1;后,变量i的值是()A)3 B)4 C)5 D)620、C语言中while 和do-while循环的主要区别是()A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内,而while循环不行D)do-while循环体不能是复合语句21、下列数组定义语句中,错误的是()A)char a[2][3]={{…a‟},{…b‟}}; B) int a[][2]={1,2,3,4,5,6};C) int a[][3]={1,2,3,4,5,6}; D) int a[][]={{1,2,3},{4,5,6}}22、设设整型变量a,b的值均为10,printf(“%d,%d”,(a++,++b),(b- -));的输出是()A) 10,10 B) 10,9 C)11,11 D)10,1123、设执行前x值为1,执行循环语句do x++;while(x++<2);后,变量x 的值是()A)2B)3C)4D)524、执行程序段:int x=9;while(x-->7)printf(“*”);后,输出的结果是( )A) **** B) *** C) ** D) *25、执行下列语句后,y的值是()int y=0,j;for(j=0;j<10;j++){if(j%2==0)continue;y+=x}A) 45 B) 25 C) 20 D) 926、循环语句for(a=0,b=0;(b!=45)||(a<5);a++);的循环次数是()(A) 4 (B) 3 (C) 5 (D) 无数多次27、C语言规定,源程序中相对其它函数来说,main函数的位置()A)必须放在最前B)必须在自定义的函数之后C)必须放在最后D)可以放在任意位置28、如果在一个复合语句中定义了一个变量,那么该变量()A)只在该复合语句中有效B)只在本函数中有效C)只在该源程序中有效D)不能这样定义29、若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式()。
A)x==y;B)x-y==0;C) fabs(x-y)<1e-8;D)labs(x-y)<1e-8;30、下列合法的常量是()A)123 B)“”C)‘ad‘D)e331、C语言中用于结构化程序设计的三种基本结构是()A)顺序结构、选择结构和循环结构B)if、switch 、breakC)for、while、do-whileD)if 、for、continue32.以下说法正确的是()A)在C语言程序中可以同时有多个main函数B)在C语言程序中有且只有一个main函数C)在C语言程序中程序的运行是从第一个函数开始的D)在C语言程序中程序的main函数必须写在最前的位置33.构成C语言程序的基本单位是()A)函数B)过程C)复合语句D)语句34.下列选项中合法的C语言标识符是()(A)a-bc (B) mg.c (C) k5 (D) h[k35.C语言程序经过编译后,生成文件的后缀是()A).C B) .obj C) .exe D) .doc36.下列各组中均为常量的是()(A)123 ,-0x23 ,-2.5 (B)-1,-1/2 ,6.8(C)-6,∏,345.0 (D)3.5 , 6.9 , a 37.x 和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()(A)abs(x-y)<10 (B) x-y>-10&&x-y<10(C) @(x-y)<-10|| !(y-x)>10 (D) (x-y)*(x-y)<10038.有以下程序main(){char a,b,c,d;scanf(“%c, %c, %d, %d”,&a,&b,&c,&d);printf(“%c, %c, %c, %c\n”,a,b,c,d);}若运行从键盘上输入:6,5,65,66<回车>。
则输出结果是()A)6,5,A,B B)6,5,6,5C)6,5,65,65 D)6,5,6,639.有以下程序main(){unsigned int a;int b=-1;a=b;printf(“%u”,a);}程序运行后的输出的结果是()A)-1 B)65535 C)32767 D)-3276840.已知:char a; int b; float c; double d;执行语句“c=a+b+c+d;”后,变量c的数据类型是()。
A)int B)char C)float D) double二、填空题1、高级语言编写的源程序必须通过()程序翻译成二进制程序才能执行,这个二进制程序称为()程序。
2、转义字符是指由()开头的单个字符或多个字符。
3、“A”和‘A’是不同的,其中前者在内存中要占用()个字节,而后者要占用()个字节。
4、表达式5!=1的值是()5、在C语言中没有字符串变量,字符串存储在以()为结束符的字符数组中。
6、有如下程序,该程序执行后的结果是()main (){int a=1,b=1,c;c=(a--<0)&&!(--b<=0);printf(“%d%d%d\n”,c,a,b);}7、若有定义:int w[5]={1,2,3},则W数组元素中w[1]=( ),w[2]=( )。
8、有定义char str1[]=”abc”,str2[]=”abcd”,str3[];则有strlen(str1[])=( ),若str3=strcat(str1,str2),则strlen(str3[])=( ).9、为了避免嵌套if-else语句的二义性,C语言规定else总是与()组成配对关系。
10、在C语言中,一个函数一般由两个部分组成,它们是函数说明部分和()。
11、表达式:13.5>13的值是()12、设有定义语句:char s[ ]=”123456”,s[2]所对应的字符是()。
13、用条件运算符求a,b中的最大值的表达式是()。
14、char c; c=‟a‟;c的ASCII代码为97,则在内存中c的值为( )15、表达式a=3*5,a+a,a+3的值为()16、设a=5;则语句k=i++;执行后,k=( ),i=( ).17、表达式b=35/7*5-7%4*4运算后b=( ).18、程序运行后的输出结果是()main(){int a,b,c;a=25;b=025;c=0x25;printf(“%d %d %d\n”,a,b,c);}19、表达式10+‟x‟+2.5*7的值为()型的量。
20、C程序是由函数构成的,一个C源程序至少至少包含一个()函数。
三、阅读程序,并写出程序的运行结果1 、程序如下:main(){int a=10;while(a>0){if(a/3==1)break;if(a%3==2){printf(“%d”,a);a--;continue;}a--;}该程序运行后其结果为:2、有如下程序:#include <stdio.h>void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10}; int k,s,i;float ave;for(k=s=i=0;i<10;i++){ if (a[i]%2!=0)continue;s+=a[i];k++;}if(k!=0){ ave=s/k;printf("%d,%f\n",k,ave);}}程序的输出结果是:3、程序如下:#include <stdio.h>void main(){int a,b,c,x;a=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;elsex=4;printf("%d\n",x);}程序的输出是:4、main(){int i,m=0,n=0,k=0;for(i=9;i<=11;i++)switch(i/10){case 0:m++;n++;break;case 10:n++;break;default: k++;n++;}printf(“%d %d %d\n”,m,n,k); }该程序运行后的运行结果为:5、阅读下列程序,写出程序的运行结果:main(){int num[10]={10,20,-20,-25,5,-15,15,2};int sum=0,i;for(i=0;i<8;i++)if(num[i]>0)sum=num[i]+sum;elsesum=sum-num[i];printf(“%d”,sum);}程序运行的结果为:6、阅读程序,写出程序的运行结果: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);}程序结果为:7、阅读程序,写出程序运行结果:main(){int x=123,n=0;printf(“%d”,x%10)n++;if((x=x/10)!=0){printf(“%d”,x%10);n++;if((x=x/10)!=0){printf(“%d”,x%10);n++;}}printf(“n=%d”,n);}程序运行的结果为:8、分析下面程序执行后的结果main( ){int a=3,b=7;printf(“%d\n”,a++ + ++b);printf(“%d\n”,b%a);printf(“%d\n”,!a>b);printf(“%d\n”,a+b);printf(“%d\n”,a&&b);程序运行的结果为四、程序填空题1、以下程序是用“*“完成正三角形的输出#define N 10main(){int i,j,k;for(i=1;i<= ;i++){for(j=1;j<= ; j++)printf( ““);for(k=1;k<= ;k++)printf(“*”);}}2、以下程序输出两个字符串中对应相等的字符:#include< >main(){char s1=”test”,s2=”east”;int i;for(i=0;s1[i] && s2[i] ;i++) if( );}3、下面程序的功能是求s=1+2+3+……+n,阅读程序并完成填空。