《C语言程序设计》复习题
C语言程序设计试题及答案解析
![C语言程序设计试题及答案解析](https://img.taocdn.com/s3/m/4c7c11d4d5d8d15abe23482fb4daa58da0111c82.png)
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语言程序设计复习题(一)1的阅读程序部分
![C语言程序设计复习题(一)1的阅读程序部分](https://img.taocdn.com/s3/m/1cf5691714791711cc7917ed.png)
} 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语言程序设计复习题(含参考答案)
![C语言程序设计复习题(含参考答案)](https://img.taocdn.com/s3/m/764aee376fdb6f1aff00bed5b9f3f90f76c64dcc.png)
C语言程序设计复习题(含参考答案)C语言程序设计复习题(含参考答案)一、单项选择题(本题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个是符合题目要求的。
1. 以下正确的C语言自定义标识符是______。
A. _1aB. 2a_C. doD. a.122、假设所有变量均为整型,则表达式(x=3,y=4,y++, y-x`)的值是______。
A.7B.1C.6D.23. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A. scanf("%5f",&x);B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。
A. 12B. 17C.36 D. 108. C语言程序中,整型常量的书写形式不包括_________。
A. 二进制B. 八进制C. 十进制D. 十六进制9.下面程序的输出结果是_____。
#includemain(){ float d=2.2; int x,y;x=6.2;y=(x+3.8)/5.0;printf("%f",d*y);}A. 4B. 4.4C. 2.2D. 010. 设int x;,则与计算︱x︱等价的表达式是_________。
中国石油大学《C语言程序的设计》期末复习试题与答案
![中国石油大学《C语言程序的设计》期末复习试题与答案](https://img.taocdn.com/s3/m/10e6b3976edb6f1afe001f5c.png)
《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语言程序设计》复习资料](https://img.taocdn.com/s3/m/80177c4b284ac850ac0242bf.png)
7.在一维数组的定义语句中,数组名前为元素类型关键字。(√) 8.假定二维数组的定义语句为 “double a[M][NJ;" ,则每个数组元素的列下标取值范围在 0-N-i 之间。 (√) 9.一个二维字符数组 a[10][20 」中存储每个字符串的最大长度为 190(√) 10.假定 a 是一个一维数组,则表达式, (a+i) 所对应的元素为 a[i-1],(×) 11.进行动态存储分配的。alloc() 函数带有两个参数。(√) 12.对于标识为 static 属性的变量,若没有对它进行初始化,则默认的初值为 10(×) 13.在 C 语言中一个结构类型的长度等于所含的所有数据成员类型的长度之和。(√) 14.在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构变量。(×) 15.当向字符文件输出一个换行符时,实际将输出的是回车符或换行符。(×) 16.在 C 语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。( √ ) 17.一个 C 语言程序能够包含多个用户头文件。( √ ) 18.在定义一个变量时,不能够同时给它赋初值。( × ) 19. 表达式 (int)14.6%5 的值为 40 ( √) 20.若 x=5 , y=10 ,则 x>y 逻辑值为真。( × ) 21.当循环次数确定时, while 循环语句能够转换为 for 循环语句。( √ ) 22.在一维数组的定义语句中,数组名后带有一对中括号。( √ ) 23.在二维数组的定义语句中,不能给数组中每个元素赋初值。( × ) 24.对于一个长度为 n 的字符串,存储它的字符数组的长度至少为 no ( × ) 25.假定一个数据对象为 int *类型,则指向该对象的指针类型为 int *祷。( √ ) 26.进行动态存储分配的 malloc( )函数带有两个参数。( × ) 27.函数定义格式中的参数表被称为实参表。( × ) 28.在同一个结构类型的定义中,各数据成员名必须不同。( √ ) 29.在结构成员访问运算符中,点运算符(.)为双目运算符。( √ ) 30. 在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。( × ) 31.在 C 语言程序中,只有一种使用注释语句的方法。( × ) 32.常数 3. 26 是双精度定点数。( √ ) 33. 表达式(f!oat)25/4 的值为 6 0 ( × ) 34. 已知 x= 一 25 ,则 fabsCx) 的值为一 25.0 0 ( × ) 35.while 循环是先判断循环条件,当条件为真时执行循环体。( √ ) 36.在一维数组的定义语句中,数组名后带有一对中括号。( √ ) 37.字符串允许为空,并且其长度为 0 0 ( √ ) 38. 一个二维字符数组 a[10][20] 中存储每个字符串的最大长度为 20 0 ( × ) 39.假定 a 是一个一维数组,则进行 a++ 运算是不允许的。 ( √ ) 40.在一个函数定义中,函数体是一条简单语句。 ( × ) 41,在 C 语言程序中,对于递归函数和非递归函数,其函数头部有区别标志。 ( × ) 42.在结构类型的定义中,结构类型的作用域范围,与它的定义位置有关。( √ ) 43.在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构指针变量。 ( × ) 44.在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。( √ ) 45. 对二进制文件进行读和写操作将使用不同的系统函数。( √ )
《c语言程序设计》试题库及答案
![《c语言程序设计》试题库及答案](https://img.taocdn.com/s3/m/38120d28e55c3b3567ec102de2bd960590c6d9b1.png)
《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
《C语言程序设计》复习资料(3月19日)
![《C语言程序设计》复习资料(3月19日)](https://img.taocdn.com/s3/m/766887e1524de518964b7db3.png)
一、选择题(每小题2分)1、以下说法正确的是 C 。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分2、下列符号中,可以作为变量名的是 C 。
A)+a B)12345e C)a3B D)5e+03、在C 语言中,下列类型属于构造类型的是 D 。
A)整型B)指针类型C)实型D)结构体类型4、设d为字符变量,下列表达式正确的是 B 。
A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟5、C语言中,运算对象必须是整型数的运算符是 A 。
A)% B)\ C)% 和\ D)**6、表达式(double)(20/3)的值为 A 。
A)6B)6.0 C)2D)37、若已知a=10,b=20,则表达式!a<b的值为 C 。
A)10 B)20 C)1 D)08、printf函数中用到格式符"%4s",其中数字4表示输出的字符串占用4列。
如果字符串长度大于4,则按原字符串长从左向右全部输出;如果字符串长度小于4,则输出方式为 B 。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格D)输出错误信息9、为了表示关系x>=y>=z,应使用C语言表达式 A 。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)10、以下不正确的i f 语句形式是 C 。
A)i f ( x > y && x != y ) ; B)i f ( x = = y ) x + = y ;C)if ( x != y ) scan f ( “%d”, &x) else scanf ( “%d”, &y); D)i f ( x < y ) { x++; y++;}11、程序段如下int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是 B 。
c语言程序设计考试题及答案
![c语言程序设计考试题及答案](https://img.taocdn.com/s3/m/262e4620bf1e650e52ea551810a6f524ccbfcbdd.png)
c语言程序设计考试题及答案一、选择题(每题2分,共10分)1. 下列选项中,哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable-2答案:C2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是正确的C语言注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:B4. 在C语言中,以下哪个语句用于交换两个变量的值?A. a = b;B. b = a;C. a = a + b;D. a = a + b; b = a - b; a = a - b;答案:D5. C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:A二、填空题(每题3分,共15分)1. 在C语言中,___________关键字用于定义一个函数。
答案:int2. C语言中,___________函数用于输出字符串。
答案:printf3. 在C语言中,___________关键字用于定义一个结构体。
答案:struct4. C语言中,___________函数用于输入一个整数。
答案:scanf5. 在C语言中,___________关键字用于定义一个枚举类型。
答案:enum三、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组首元素的指针使用。
数组的每个元素可以通过指针偏移量来访问。
2. 解释C语言中的递归函数。
答案:递归函数是在其定义中调用自身的函数。
它通常用于解决可以分解为更小的、相似子问题的问题。
c程序设计考试题目及答案
![c程序设计考试题目及答案](https://img.taocdn.com/s3/m/dbd3caa60342a8956bec0975f46527d3250ca60f.png)
c程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。
C语言考试复习专用三套题附答案
![C语言考试复习专用三套题附答案](https://img.taocdn.com/s3/m/aa2fd7cf88eb172ded630b1c59eef8c75fbf955c.png)
C语言考试复习专用三套题附答案《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(一)设某为一数字字符,则其所对应的十进制数值为A)某B)某-‘0’C)某某D)&某(二)说明语句char=‘\\t’,使包含了几个字符?A)1B)2C)3D)说明有错(三)设a=6,b=4,则表达式b某=a+3的值为A)3B)18C)27D)36(四)若给定表达式(m)?a++:a--,则其中表达式m和等价。
A)m==0B)m!=0C)m=0D)m=1(五)设有说明语句inta[10],则数组a包括了个数组元素。
A)1B)9C)10D)20(六)以下函数tet返回值类型为tet(int某){printf(“%f\\n”,(float)某);}A)intB)floatC)voidD)不确定或错误(七)C语言规定,main函数的参数A)只能有0个B)只能有0个或一个C)只能有0个或2个D)可有任意个(八)设某为整型变量,p基类型为整型的指针变量,则正确的赋值表达式是A)p=&某B)p=某C)某p=&某D)某p=某某(九)TurboC中,int型数据在存储器中占二个字节,则以下类型数据在存储器中占的字节数为:tructtet{int某;floaty;charz;};A)2B)3C)6D)7(十)rewind()函数的作用是A)重新打开文件B)使文件位置指针重新回到文件的开始C)使文件位置指针重新回到文件的末D)返回文件长度值二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#includevoidmain(){inta=1,b=4,c=2;运行结果:1a=(a+b)/c;printf(“%d\\n”,--a);}[程序2]voidmain(){charc1=67;/某‘A’的ASCII码值为65某/if(‘A’<=c1&&c1<=’Z’)运行结果:67,Dprintf(“%d,%c”,c1,c1+1);eleprintf(“%c”,c1);}[程序3]viodmain(){inta=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(){inti,j;运行结果:1,2,4,8,16,32,64,128,256,512taticinta[10]={1,1,1,1,1,1,1,1,1,1};for(i=0;i<10;i++)for(j=0; jprintf(“%d,”,a[i]);}[程序5]intk=2;f(intm)运行结果:6,8{m+=k;k+=m;5,9printf(“%d,%d\\n”,m,k++);}main(){inti=4;for(i++);printf(“%d,%d\\n”,i,k);}[程序6]voidmain(){taticinta[10],i;运行结果:13579for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,某(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
C语言程序设计期末考试试题及答案
![C语言程序设计期末考试试题及答案](https://img.taocdn.com/s3/m/be0fbf2aff4733687e21af45b307e87101f6f824.png)
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,下列哪个选项是合法的数据类型?A. intB. floatC. characterD. string2. 关于C语言中的变量,以下哪个说法是正确的?A. 变量可以在程序中的任何位置声明B. 变量在使用前必须先声明C. 变量不能重复声明D. 变量的作用域可以是全局的,但不能是局部的3. 在C语言中,以下哪个操作符用于取模?A. %B. /C.D. &4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. class二、填空题(每题2分,共20分)6. 在C语言中,标准输入输出头文件是_________。
7. 一个整型变量占用_________个字节。
8. 如果一个整型变量声明为`int a = 5;`,那么`printf("%d", a++);`的输出是_________。
9. 在C语言中,函数返回值的类型默认是_________。
10. 指针是一种特殊类型的变量,用于存储_________的地址。
三、编程题(共40分)11. 编写一个C程序,实现一个简单的计算器,包括加、减、乘、除四种运算。
12. 编写一个C程序,实现一个函数,该函数接受一个整数数组和一个整数n,返回数组中与n相等的元素个数。
13. 编写一个C程序,实现一个结构体`Student`,包含学生的姓名、学号和成绩。
编写一个函数,输入学生的信息并打印出来。
### 答案一、选择题答案1. A. int2. B. 变量在使用前必须先声明3. A. %4. A. malloc()5. A. struct二、填空题答案6. stdio.h7. 48. 59. int10. 变量三、编程题答案11. 计算器程序示例:```c#include <stdio.h>int main() {char operator;double firstNumber, secondNumber;printf("Enter an operator (+, -, , /): ");scanf("%c", &operator);printf("Enter two operands: ");scanf("%lf %lf", &firstNumber, &secondNumber);switch(operator) {case '+':printf("%.1lf + %.1lf = %.1lf", firstNumber, secondNumber, firstNumber + secondNumber);break;case '-':printf("%.1lf - %.1lf = %.1lf", firstNumber, secondNumber, firstNumber - secondNumber);break;case '':printf("%.1lf %.1lf = %.1lf", firstNumber, secondNumber, firstNumber secondNumber);break;case '/':if(secondNumber != 0.0)printf("%.1lf / %.1lf = %.1lf", firstNumber, secondNumber, firstNumber / secondNumber);elseprintf("Divide by zero situation.");break;default:printf("Error! operator is not correct");}return 0;}```12. 数组中与n相等的元素个数函数示例:```c#include <stdio.h>int countOccurrences(int arr[], int n, int size) {int count = 0;for (int i = 0; i < size; i++) {if (arr[i] == n) {count++;}}return count;}int main() {int arr[] = {1, 2, 3, 4, 5, 2, 2};int n = 2;int size = sizeof(arr) / sizeof(arr[0]);int count = countOccurrences(arr, n, size);printf("Number of occurrences of %d is %d", n, count);return 0;}```13. 学生信息结构体及打印函数示例:```c#include <stdio.h>typedef struct {char name[50];int studentID;float grade;} Student;void printStudentInfo(Student student) {printf("Name: %s\n", );printf("Student ID: %d\n", student.studentID); printf("Grade: %.2f\n", student.grade);}int main() {Student student;printf("Enter name: ");scanf("%s", );printf("Enter student ID: ");scanf("%d", &student.studentID); printf("Enter grade: ");scanf("%f", &student.grade);printStudentInfo(student);return 0;}```。
《C语言程序设计》复习题有答案1
![《C语言程序设计》复习题有答案1](https://img.taocdn.com/s3/m/18f73c18b80d6c85ec3a87c24028915f814d8441.png)
《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语言程序设计》复习题](https://img.taocdn.com/s3/m/fb6fe3d4aeaad1f346933ff3.png)
《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语言程序设计复习题](https://img.taocdn.com/s3/m/a44b883315791711cc7931b765ce05087632752f.png)
《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语言程序设计复习题](https://img.taocdn.com/s3/m/e7016c09bb68a98270fefa04.png)
《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语言考试复习专用三套题附答案(1)
![C语言考试复习专用三套题附答案(1)](https://img.taocdn.com/s3/m/f6b594d91eb91a37f0115ca9.png)
《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)。
.《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语句中。
(B)20.continue语句不可用于循环语句中。
(B)21.以下程序的功能是判断一个数是否是素数(A)#include<math.h>#include <stdio.h>void main( ){ int m,i;scanf(" %d" ,& m);for(i=2;i< =sqrt(m);i++) if(m%i==0) break;if(i> sqrt(m)) printf(“%d 是素数" ,m);else printf(“%d 不是素数" ,m); }22.以下程序的功能是计算2+4+6+8+...+98+100。
(B)void main() { int i,s ; for(i=2;i< =100;i+=2 ) s+=i; } (注意s的初始值)23.数组的下标是从1开始计数的。
(B)24.若有int s[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是4。
(A)25.下面程序段运行时输出结果是:0 15 24 (A)void main() { int i=0,a[10]; for(i=0;i< =9;i++) a[i]=i*3; printf(" %d %d %d" ,a[0],a[5],a[8]); } 26.下面程序段运行时输出结果是:1 0 3 3 4 5 6 6 (B)void main(){ int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i< 8;i++) a[i]+= a[i-1] + a[i-2];for(i=0;i< 8;i++) printf(“%d ”,a[i]); }27.以下程序的功能是:将一个数组中的元素按逆序重新存放并打印交换后的数组。
(A)#define N 7#include < stdio.h>void main(){ static int a[N]={12,9,16,5,7,2,1},k,s;for (k=0;k< N/2;k++) { s=a[k]; a[k]=a[N-1-k]; a[N-1-k] =s; }printf(" \n交换后的数组:\n" ); for(k=0;k< N;k++)printf(" %4d" ,a[k]); }28.若有定义int a[3][5];则排列在数组中的第9个元素是a[1][3]。
(A)29.下面程序段运行时输出结果是:456 (B)void main() { int a[][3]={ 1,2,3,4,5,6,7,8,9},i,k=2; for(i=0;i< 3;i++) printf(“%d”,a[k][i]); }30.下面程序段运行时输出结果是:"AAAA" (B)void main() { char ch[3][5]={ "AAAA" ,"BBB" ,"CC" }; printf(" \"%s\" " ,ch[1]); }31.strlen("How are you\n")的值是12 。
(A)32.C语言中字符串结束的标志是'\0' (A)33.strcmp("how","How")的值>0 。
(A)34.以下程序的功能是:字符串a连接到字符串b,并显示字符串b。
(B)void main(){ char a[200]=”how are you.”, b[200]; int i=0;while(a[i] !=' \0' ) {b[i]=a[i]; i++; } b[i]=' \0' ;printf(“新字符串是%s”,b); }35.当运行以下程序时,从键盘输入:AAAaaaAAA Abcd234abc AAaa,运行结果为:AaaAAAaaa。
void main(){ char s[80], c='a';int i=0;scanf("%s",s); (注意scanf遇到空格的处理,与gets的不同)while(s[i++]!='\0')if(s[i] == c) s[i]=s[i]-32;else if(s[i]==c-32) s[i]=s[i]+32;puts(s);} (A)36.下面程序段运行时输出结果是:6 (B)void main() { int *p,a=5,b=1; p=& a; *p=10; a=*p+b; printf(“%d”,a); } 37.下面程序段运行时输出结果是:135 (A)void main(){ int a[2][3]={1,3,5,7,9,11}; int m,*ptr;ptr=& a[0][1];m=(*ptr)*(*(ptr+1))*(*(ptr+3));printf(" %d" ,m); }38.下面程序段运行时输出结果是:-5, -12, -7(A)void sub(int x,int y,int *z){ *z=y-x; }void main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d\n",a,b,c);}39.下面程序段运行时输出结果是:4 (A)fun(char *s){ char *p=s;while (*p) p++;return(p-s);}void main(){ char *str="abcd";int i;i=fun(str);printf("%d",i);}40.int *f();表示函数返回一个整型指针。
(A)41.下面程序段运行时输出结果是:0,0 1,3 (B)f() { int x=0; static int y=0; printf(" %d,%d " ,x,y); x++; y=y+3; }void main() { int i; for(i=0;i< 2;i++) f(); }42.下面程序段运行时输出结果是2 (A)int f(int n) { int s; if(n==1||n==2) s=1; else s=n-f(n-1); return s; }void main() { printf(“%d”,f(3));}43.下面程序段运行时输出结果是7 (B)void fun(int x,int y,int z) {z=x+y;}void main() { int a=3; fun(5,2,a); printf("%d",a); }44.在定义函数时,函数名后面的括号中的变量名称为实参。
(B)45.为了保证被调用函数不返回任何值,其函数定义的类型应为void 。