ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:63KB ,
资源ID:1325613      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1325613.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C语言分类模拟题584及答案解析.doc)为本站会员(towelfact221)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C语言分类模拟题584及答案解析.doc

1、二级 C 语言分类模拟题 584 及答案解析(总分:46.50,做题时间:90 分钟)一、选择题(总题数:30,分数:46.50)1.在面向对象方法中,实现信息隐蔽是依靠_。(分数:1.00)A.对象的继承B.对象的多态C.对象的封装D.对象的分类2.下列程序段的输出结果为 _ 。 #includestdio.h main() static char a=“language“; char *p; p=a; for(p=a;pa+8;p+=2) putchar(*p); (分数:2.00)A.languageB.lnugC.有语法错误D.lang3.有以下程序: char fun(char x

2、,char y) if(xy)return x; return y; main() int a=“9“,b;“8“,c=“7“; printf“%c/n“,fun(fun(a,B) ,fun(b,C) ); 程序的执行结果是 _ 。(分数:2.00)A.函数调用出错B.8C.9D.74.以下程序的输出结果是_。 main() int a33=1, 2, 3, 4, 5, 6, i, j, s=0; for(i=1; i3; i+) for(j=0; j=i; j+)s+=aij; printf(“%d/n“, s); (分数:1.00)A.18B.19C.20D.215.有以下程序: #inc

3、ludestdio.h main() int a=1,b =0; printf(“%d,“,b=a+b); printf(“%d/n“,a=2*b); 程序运行后的输出结果是_。(分数:1.00)A.1,2B.1,0C.3,2D.0,06.有以下程序 #includestdio.h main() (int x=1, y=0; if(!x) y+; else if(x=0) if(x)y+=2; else y+=3; printf(“%d/n“, y); 程序运行后的输出结果是_。(分数:1.00)A.3B.2C.1D.07.有下列程序: #includestdio.h main() int a

4、=6,i; for(i=1;i=3;i+) if(a5)break; if(a%2)a+=2;continue; a=a+4; printf(“%d,%d“,i,a); 程序执行后的输出结果是_。(分数:1.00)A.4,9B.3,18C.4,18D.4,28.有以下程序(注:字符 a 的 ASCII 码值为 97): #includestdio.h main() char *s=“abc“; do printf(“%d“, *s%10);+s; while(*s); 程序运行后的输出结果是_。(分数:1.00)A.789B.abcC.7890D.9798999.在模块化程序设计中,按功能划分

5、模块的原则是 _ 。(分数:1.00)A.各模块的功能尽量单一,且各模块之间的联系尽量少B.各模块的功能尽量单一,且各模块之间的联系尽量紧密C.各模块应包括尽量多的功能D.各模块应包括尽量多的输入输出操作10.以下选项中不属于 C 语言标识符的是_。(分数:2.00)A.常量B.用户标识符C.关键字D.预定义标识符11.下列程序段的输出结果是 int n=“c“; switch(n+) default: printf(“error“);break; case “a“: case “A“: case “b“: case “B“: printf(“good“);break; case “c“: c

6、ase “C“: printf(“pass“); case “d“: case “D“: printf(“warn“); (分数:1.00)A.passwarnB.passerrorC.goodpasswarnD.pass12.有以下程序: # include stdio.h struct STU char name9; char sex; int score2; void f(struct STU a) struct STU b=“Zhao“,“m“,85,90; a1=b; main() struct STU c2=“Qian“,“f“,95,92,“Sun“,“m“,98,99; f(c

7、); printf(“%s,%c,%d,%d,“,c0.name,c0.sex,c0.score0,c0.score1); printf(“%s,%c,%d,%d/n“,c1.name,c1.sex,c1.score0,c1.score1); 程序运行后的输出结果是_。(分数:1.00)A.2hao,m,85,90,Sun,m,98,99B.2hao,m,85,90,Qian,f,95,92C.Qian,f,95,92,Sun,m,98,99D.Qian,f,95,92,Zhao,m,85,9013.以下程序的功能是:按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程

8、序如下: #include stdio.h main() int n, k; float score, sum, ave; sum=0.0; for(n=1; n=10; n+) for(k=1; k=4; k+) scanf(“% f“, sum+=score; ave=sum/4.0; printf(“NO% d:% f/n“, n, ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是_。(分数:2.50)A.sum=0.0;B.sum+=score;C.ave=sum/4.0;D.printf(“NO% d:% f/ n“, n, ave);1

9、4.有以下程序 #includestdio.h main() int a=5,b=lt; t=(a2)|b;printf(“%d/n“,t); 程序运行后的输出结果是_。(分数:2.00)A.21B.11C.6D.115.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.# define N 10int xN;C.int x010;D.int x;16.以下叙述中正确的是_。(分数:2.00)A.C 程序书写格式自由,一个语句可以写在多行上B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序中的注释只能出现在程序的开始位置和语句的后面D.用

10、C 语言编写的程序只能放在一个程序文件中17.有如下定义: struct st int n;float t; a20; FILE *fp; 若文件已正确打开,则以下将文件内容读入数组 a 中的语句错误的是_。(分数:1.00)A.for(i=0;i20;i+)fread(ai,sizeof(struct st),1L,fp);B.fread(a,sizeof(struct st),20L,fp);C.for(i=0;i20;i+=2)fread(D.for(i=0;i20;i+,i+)fread(18.若 a 是数值类型,则逻辑表达式(a=1)|(a!=1)的值是_。(分数:2.50)A.1B

11、.0C.2D.不知道 a 的值,不能确定19.以下选项中,能用作数据常量的是_。(分数:2.50)A.115LB.0118C.1.5e1.5D.o11520.设有定义:structchar mark12;int num1;double num2;t1,t2;,若变量均已正确赋初值,则下列语句中错误的是_。(分数:2.00)A.t1=t2;B.t2.num1=t1.num1;C.t2.mark=t1.mark;D.t2.num2=t1.num2;21.有以下程序: int*f(int *x,int *y) if(*x*y)return x; else return y; main() int a

12、=7,b=8,*p,*q,*r; p= printf(“%d/n“,S(k+j); 程序的运行结果是_。(分数:2.00)A.33B.197C.143D.2823.用 MIPS 来衡量计算机性能的指标是 ( )(分数:1.00)A.存储容量B.可靠性C.处理能力D.运算速度24.有以下程序: #include stdio.h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1,2,3,4,5,6,7,8,9,0, i; for(i=0; i10; i+=2) fun(ci, ci+1); for(i=0; i10; i+)

13、 printf(“%d,“, ci); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,25.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是_。(分数:1.00)A.c=c+32B.c=(“A“+c)%26-“a“C.c=c-“A“+“a“D.c=(c-“A“)%26+“a“26.有以下程序: #incl

14、udestdio.h #includestdlib.h int fun(int n) int *p; p=(int*)malloc(sizeof(int); *p=n; return *p; main() int a; a=fun(10); printf(“%d/n“,a+fun(10); 程序运行后的输出结果是_。(分数:1.00)A.0B.10C.20D.出错27.以下程序的输出结果是_。 #includestdio.h main() int a=8,b=6,m=1; switch(a%4) case 0:m+; break; case 1:m+; switch(b%3) default:

15、m+; case 0:m+; break; printf(“%d/n“,m);(分数:2.50)A.1B.2C.3D.428.两次运行下面的程序,如果从键盘上分别输入 3 和 2,则输出结果是_。 #includestdio.h main() int x; scanf(“%d“, if(x+2) printf(“%d“,x); else printf(“%d/n“,x-); (分数:2.50)A.4 和 3B.4 和 2C.4 和 1D.3 和 229.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语

16、句是(分数:1.00)A.c=(c-“A“)%26+“a“B.c=c+32C.c=c-“A“+“a“D.c=(“A“+c)%26-“a“30.C 语言程序中,若函数无返回值,则应该对函数说明的类型是(分数:2.00)A.intB.doubleC.charD.void二级 C 语言分类模拟题 584 答案解析(总分:46.50,做题时间:90 分钟)一、选择题(总题数:30,分数:46.50)1.在面向对象方法中,实现信息隐蔽是依靠_。(分数:1.00)A.对象的继承B.对象的多态C.对象的封装 D.对象的分类解析:解析 对象是由数据和操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传

17、递消息互相联系,以模拟现实世界中不同事物彼此之间的关系。面向对象方法的 3 个重要特性为:封装性、继承性和多态性。2.下列程序段的输出结果为 _ 。 #includestdio.h main() static char a=“language“; char *p; p=a; for(p=a;pa+8;p+=2) putchar(*p); (分数:2.00)A.languageB.lnug C.有语法错误D.lang解析:解析 本程序首先定义了静态字符数组 a,然后将指针 p 指向数组 a 的首地址。第 1 次 for 循环,p=a,p 指向数组的第 1 个元素,*p 是取指针 p 所指地址的内

18、容,输出 1;第 2 次 for循环,p=p+2,则 p 指向数组的第 3 个元素,*p 是取指针 p 所指地址的内容,输出 n;第 3 次 for 循环,p=p+2,则 p 指向数组的第 5 个元素,*p 是取指针 p 所指地址的内容,输出 u;第 4 次 for 循环,p=p+2,则 p 指向数组的第 7 个元素,*p 是取指针 p 所指地址的内容,输出 g,结束循环。3.有以下程序: char fun(char x ,char y) if(xy)return x; return y; main() int a=“9“,b;“8“,c=“7“; printf“%c/n“,fun(fun(a

19、,B) ,fun(b,C) ); 程序的执行结果是 _ 。(分数:2.00)A.函数调用出错B.8C.9D.7 解析:解析 本题考核的知识点是函数的返回值以及返回值作为函数的参数。经过分析得出函数 fun()的功能是比较形参 x 和形参 y 的大小,返回较小的一个。函数 fun()有两个参数。本题中,首先定义了三个整型变量 a、b 和 c,分别赋初值为 9、8 和 7。然后执行函数 fun(fun(a,b),fun (b,C)。在该函数中分别将 fun (a,b)和 fun(b,c)函数的返回值作为该函数的两个实参。在函数 fun (a,b)中,由于ab,故返回较小值 b 即 8,在函数 fu

20、n(b,C)中,由于 bc,故返回较小值 c 即为 7,因此调用函数fun(fun (a,b),fun (b,C),即 fun (8,7),故返回较小值为 7。4.以下程序的输出结果是_。 main() int a33=1, 2, 3, 4, 5, 6, i, j, s=0; for(i=1; i3; i+) for(j=0; j=i; j+)s+=aij; printf(“%d/n“, s); (分数:1.00)A.18 B.19C.20D.21解析:解析 循环的作用是求行下标从 1 到 2,列下标从 0 到 i 的元素之和,即 s=a10+a11+a20+a21+a22=3+4+5+6+0

21、=18。5.有以下程序: #includestdio.h main() int a=1,b =0; printf(“%d,“,b=a+b); printf(“%d/n“,a=2*b); 程序运行后的输出结果是_。(分数:1.00)A.1,2 B.1,0C.3,2D.0,0解析:解析 首先打印 b=a+b=1+0=1 的值 1,此时已给 b 赋值为 1。然后打印 a=2*b=2*1=2 的值 2。所以结果是“1,2”。6.有以下程序 #includestdio.h main() (int x=1, y=0; if(!x) y+; else if(x=0) if(x)y+=2; else y+=3

22、; printf(“%d/n“, y); 程序运行后的输出结果是_。(分数:1.00)A.3B.2C.1D.0 解析:解析 根据在 if.else 语句中,else 总是和最近的 if 配对原则,本题中的层次关系是:if(!x)与elseif(x=0)是一组,位于循环的最外层。而 if(x)与 else 是一组,位于 else if(x=0)条件的内层。由此可知条件均不成立,所以 y 未进行任何操作,仍为 0。7.有下列程序: #includestdio.h main() int a=6,i; for(i=1;i=3;i+) if(a5)break; if(a%2)a+=2;continue;

23、 a=a+4; printf(“%d,%d“,i,a); 程序执行后的输出结果是_。(分数:1.00)A.4,9B.3,18C.4,18 D.4,2解析:解析 main()函数中,a 的初值为 6,for 循环首先判断 i 的值是否小于 5,若小于 5。执行 break语句终止循环;若不小于 5,接着判断 a 的奇偶性,若 a 是奇数,将 a 自增 2 后执行 continue 语句,执行下一轮循环;若 a 是偶数,将 a 自增 4;可见无论程序如何执行,a 的值只会增不会减。所以 for 循环过程中,两个 if 语句都不会执行,每次都是将 a 自增 4,又由 i 取值可以是 1,2,3 知变

24、量 a 一共自增3 次,最终 i 的值为 4,a 的值为 18。故本题答案为 C 选项。8.有以下程序(注:字符 a 的 ASCII 码值为 97): #includestdio.h main() char *s=“abc“; do printf(“%d“, *s%10);+s; while(*s); 程序运行后的输出结果是_。(分数:1.00)A.789 B.abcC.7890D.979899解析:解析 因为小写字符 a,b,c 的 ASCII 码值分别为 97,98,99,而在 dowhile 循环语句中,每次对字符的 ASCII 码值除 10 取余数并输出,所以输出结果为 7、8、9。故

25、选择 A 选项。9.在模块化程序设计中,按功能划分模块的原则是 _ 。(分数:1.00)A.各模块的功能尽量单一,且各模块之间的联系尽量少 B.各模块的功能尽量单一,且各模块之间的联系尽量紧密C.各模块应包括尽量多的功能D.各模块应包括尽量多的输入输出操作解析:解析 模块化设计是指把一个大程序按人们能理解的大小规模进行分解。划分模块的基本原则是使每个模块都易于理解。按照人类思维的特点,按功能来划分模块最为自然。在按功能划分模块时,要求各模块的功能尽量单一,各模块之间的联系尽量少。所以选项 B 错误;选项 C 错误;选项 D 错误。10.以下选项中不属于 C 语言标识符的是_。(分数:2.00)

26、A.常量 B.用户标识符C.关键字D.预定义标识符解析:解析 常量是指在程序运行过程中其值不能被改变的量,如 5、1.0、字符“a”等。C 语言的标识符分为 3 类:关键字、预定义标识符和用户标识符。常量不属于标识符,所以选择 A。11.下列程序段的输出结果是 int n=“c“; switch(n+) default: printf(“error“);break; case “a“: case “A“: case “b“: case “B“: printf(“good“);break; case “c“: case “C“: printf(“pass“); case “d“: case “D

27、“: printf(“warn“); (分数:1.00)A.passwarn B.passerrorC.goodpasswarnD.pass解析:解析 本题的考查点是 switch()语句。当用户输入的字符时,会进入一个多分支选择语句,根据n 的值,来确定下一步执行的选择语句;最后的结果应当为 passwarn。本题需要注意的是,当 case 语句没有跟随 break 语句时,不会跳出 switch,而是继续执行下一个 case 语句,直至遇到 break 语句。12.有以下程序: # include stdio.h struct STU char name9; char sex; int s

28、core2; void f(struct STU a) struct STU b=“Zhao“,“m“,85,90; a1=b; main() struct STU c2=“Qian“,“f“,95,92,“Sun“,“m“,98,99; f(c); printf(“%s,%c,%d,%d,“,c0.name,c0.sex,c0.score0,c0.score1); printf(“%s,%c,%d,%d/n“,c1.name,c1.sex,c1.score0,c1.score1); 程序运行后的输出结果是_。(分数:1.00)A.2hao,m,85,90,Sun,m,98,99B.2hao,

29、m,85,90,Qian,f,95,92C.Qian,f,95,92,Sun,m,98,99D.Qian,f,95,92,Zhao,m,85,90 解析:解析 f 函数是为结构体数组的第二个数赋值,数组的第一个数没有变化,所以正确答案应选 D。13.以下程序的功能是:按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下: #include stdio.h main() int n, k; float score, sum, ave; sum=0.0; for(n=1; n=10; n+) for(k=1; k=4; k+) scanf(“% f“, sum+=sc

30、ore; ave=sum/4.0; printf(“NO% d:% f/n“, n, ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是_。(分数:2.50)A.sum=0.0; B.sum+=score;C.ave=sum/4.0;D.printf(“NO% d:% f/ n“, n, ave);解析:解析 本题考查的是 for 循环语句的嵌套结构。14.有以下程序 #includestdio.h main() int a=5,b=lt; t=(a2)|b;printf(“%d/n“,t); 程序运行后的输出结果是_。(分数:2.00)A.21 B

31、.11C.6D.1解析:解析 本题主要考查了 C 语言的逻辑运算符,先将变量 a,b 的值转换为 2 进制数,a=00000101,b=00000001,a 先左移 2 位结果为 00010100,再与 b 按位或运算,结果为 00010101,转换为十进制数为 21,因此,选项 A 是正确的。15.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.# define N 10int xN;C.int x010;D.int x; 解析:解析 选项 A、B 中 n 为变量,C 语言中不允许动态定义数组维数,即维数不能是变量。选项 C 无此语法。16.以下叙

32、述中正确的是_。(分数:2.00)A.C 程序书写格式自由,一个语句可以写在多行上 B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序中的注释只能出现在程序的开始位置和语句的后面D.用 C 语言编写的程序只能放在一个程序文件中解析:解析 C 程序书写格式自由,B、C、D 错误。17.有如下定义: struct st int n;float t; a20; FILE *fp; 若文件已正确打开,则以下将文件内容读入数组 a 中的语句错误的是_。(分数:1.00)A.for(i=0;i20;i+)fread(ai,sizeof(struct st),1L,fp); B.fread(a,

33、sizeof(struct st),20L,fp);C.for(i=0;i20;i+=2)fread(D.for(i=0;i20;i+,i+)fread(解析:解析 fread()函数用法是 fread(void *buffer,int size,int n,FILE *fp),其中 buffer 为指针类型,应该传入指针类型的值,ai应该改为int num1;double num2;t1,t2;,若变量均已正确赋初值,则下列语句中错误的是_。(分数:2.00)A.t1=t2;B.t2.num1=t1.num1;C.t2.mark=t1.mark; D.t2.num2=t1.num2;解析:解

34、析 本题考查结构体变量的引用。C 选项中 mark 为结构体中的数组,不能直接赋值,所以 C 选项错误。21.有以下程序: int*f(int *x,int *y) if(*x*y)return x; else return y; main() int a=7,b=8,*p,*q,*r; p= printf(“%d/n“,S(k+j); 程序的运行结果是_。(分数:2.00)A.33B.197C.143 D.28解析:解析 本题考查带参数的宏定义,S 为带参数的宏定义,运行 S(k+j)为 4*(k+j)*k+j+1=143,C 选项正确。23.用 MIPS 来衡量计算机性能的指标是 ( )(

35、分数:1.00)A.存储容量B.可靠性C.处理能力D.运算速度 解析:24.有以下程序: #include stdio.h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1,2,3,4,5,6,7,8,9,0, i; for(i=0; i10; i+=2) fun(ci, ci+1); for(i=0; i10; i+) printf(“%d,“, ci); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.1,2,3,4,5,6,7,8,9,0, B.2,1,4,3,6,5,8,7,0,9,C.0,

36、9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,解析:解析 函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组 c 中的元素的值并没有变化,选择 A。25.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是_。(分数:1.00)A.c=c+32B.c=(“A“+c)%26-“a“ C.c=c-“A“+“a“D.c=(c-“A“)%26+“a“解析:解析

37、大写字母转换为对应小写字母,即加上 32,B 选项不是累加 32,所以选择 B。26.有以下程序: #includestdio.h #includestdlib.h int fun(int n) int *p; p=(int*)malloc(sizeof(int); *p=n; return *p; main() int a; a=fun(10); printf(“%d/n“,a+fun(10); 程序运行后的输出结果是_。(分数:1.00)A.0B.10C.20 D.出错解析:解析 malloc(sizeof(int)的作用是开辟一个长度为 sizeof(int)的存储空间,并通过强制类型转

38、换(int*)将此存储空间的地址赋给了一个整型的指针变量 p。然后执行语句*p=n;使得*p 的值为 10,并通过 return 返回此值,即 a 的值为 10。然后在主函数中输出 a+fun(10)=10+10=20。所以选择 C 选项。27.以下程序的输出结果是_。 #includestdio.h main() int a=8,b=6,m=1; switch(a%4) case 0:m+; break; case 1:m+; switch(b%3) default:m+; case 0:m+; break; printf(“%d/n“,m);(分数:2.50)A.1B.2 C.3D.4解析

39、:解析 本题考查 switch 语句。因为 a=8,a%4=0,所以执行 case 0 后面的语句,将 m 加 1,遇到break 语句跳出 switch。28.两次运行下面的程序,如果从键盘上分别输入 3 和 2,则输出结果是_。 #includestdio.h main() int x; scanf(“%d“, if(x+2) printf(“%d“,x); else printf(“%d/n“,x-); (分数:2.50)A.4 和 3 B.4 和 2C.4 和 1D.3 和 2解析:解析 本题考查 if-else 语句。首先,scanf 函数通过键盘读入 x 的值。当 x=3 时,第一

40、个 if 语句先判断条件,取 x 的值 3 和 2 比较,然后将 x 的值加 1,if 条件成立,执行下面的 printf 语句,输出x 的值 4。当 x=2 时,第一个 if 语句先判断条件,先取 x 的值 2 和 2 比较,然后将 x 的值加 1(x 的值变为3),if 条件不成立,执行下面的 else 语句,先输出 x 的值 3,再将 x 的值减 1。29.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是(分数:1.00)A.c=(c-“A“)%26+“a“B.c=c+32C.c=c-“A“+“a“D.c=(“A“+c)%26-“a“ 解析:解析 C 语言中,字符数据参加运算时,实际上是其 ASCII 码参与计算。大写字母的 ASCII 码比其对应的小写字母的 ASCII 码小 31。因此要将大写字母转化为小写字母只需将其加上 32 即可。所以选项 B)、C)都符合条件,因为变量 C 中存储的是大写字母,所以“c-“A“”的值一定小于 26,故选项 A)与选项C)的含义相同。故本题答案为 D)。30.C 语言程序中,若函数无返回值,则应该对函数说明的类型是(分数:2.00)A.intB.doubleC.charD.void 解析:

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1