C语言第三章复习题及答案

合集下载

C语言教材第三章课后部分习题答案

C语言教材第三章课后部分习题答案

C语言教材第三章课后部分习题答案( 第三版谭浩强)3.6写出以下程序运行的结果。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。

因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

解:#include <stdio.h>main(){ char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); }运行结果:密码是Glmre3.9求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5(1)2.5(2)3.53.10写出程序运行的结果。

main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}解:9,11,9,103.12写出下面表达式运算后a的值,设原来a=12。

C语言实验报告第3章答案

C语言实验报告第3章答案

3.2基础实验一、程序分析1.以下程序若输入’a’,则输入格式为:__c1=a____;运行结果为:___a,A↙_____。

#include<stdio.h>intmain( ){char c1,c2;scanf(“c1=%c”,&c1);c2=c1-32;printf(“%c,%c\n”,c1,c2);return 0;}2.以下程序如果使得a的值为2、b的值为3,则输入格式为:_a=2,b=3__;运行结果为:_2,3↙_。

#include<stdio.h>intmain( ){ int a,b;scanf(“a=%d,b=%d”,&a,&b);printf(“%d,%d\n”,a,b);return 0;}3.以下程序若输入12.3、7.6、1.1,则输入格式为:_12.3 7.6 1.1__;运行结果为:_aver=7.00___。

#include<stdio.h>intmain( ){ floata,b,c,d;scanf(“%f%f%f”,&a,&b,&c);d=(a+b+c)/3;printf(“aver=%.2f”,d);return 0;}二、程序填空1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。

若输入3562,则运行结果为:___3+5+6+2=16↙____________。

#include <stdio.h>intmain( ){ int n,a,b,c,d,m;scanf(“%d”,&n);a=n%10;b=(n/10)%10;c=(n/100)%10;d=__n/1000________;m=__a+b+c+d________;printf(“%d+%d+%d+%d=%d\n ”, d,c,b,a,m);return 0;}2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:__f=64.00,c=17.78↙__。

(完整版)C语言各章节复习题(带答案)

(完整版)C语言各章节复习题(带答案)

一、C 语言概述练习题选择1.一个C 程序的执行是从。

A)本程序的 main 函数开始,到 main 函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到本程序 main 函数结束D)本程序的 main 函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C 源程序必须包含一个main 函数B)一个C 源程序可由一个或多个函数组成C) C 程序的基本组成单位是函数D) 在C 程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误B)在C 程序中,main 函数必须位于程序的最前面C)C 语言本身没有输入输出语句D) C 程序的每行中只能写一条语句4.一个C 语言程序是由。

A)一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C 语言程序仅可以编译执行B) C 语言程序仅可以解释执行C) C 语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C 语言的可执行程序是由一系列机器指令构成的B)用C 语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装 C 语言集成开发环境的机器上不能运行 C 源程序生成的.exe文件7.以下叙述正确的是。

A) C 语言程序是由过程和函数组成的B) C 语言函数可以嵌套调用,例如:fun(fun(x))C) C 语言函数不可以单独编译 D) C 语言中除了 main 函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k 都是int 型变量,则计算下面表达式后,x 的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C 语言关键字的选项是。

c语言第四版答案第三章,《C语言程序设计》课后习题答案(第三章)

c语言第四版答案第三章,《C语言程序设计》课后习题答案(第三章)

c语⾔第四版答案第三章,《C语⾔程序设计》课后习题答案(第三章)3.3 请写出下⾯程序的输出结果.结果:575 767.856400,-789.12396267.856400,-789.12396267.86,-789.12,67.856400,-789.123962,67.856400,-789.1239626.785640e+001,-7.89e+002A,65,101,411234567,4553207,d68765535,17777,ffff,-1COMPUTER, COM3.4 ⽤下⾯的scanf函数输⼊数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',问在键盘上如何输⼊?main(){inta,b;floatx,y;charc1,c2;scanf("a=%d b=%d,&a,&b);scanf("x=%f y=%e",&x,&y);scanf("c1=%c c2=%c",&c1,&c2);}解:可按如下⽅式在键盘上输⼊:a=3 b=7x=8.5 y=71.82c1=A c2=a(说明:在边疆使⽤⼀个或多个scnaf函数时,第⼀个输⼊⾏末尾输⼊的"回车"被第⼆个scanf函数吸收,因此在第⼆\三个scanf函数的双引号后设⼀个空格以抵消上⾏⼊的"回车".如果没有这个空格,按上⾯输⼊数据会出错,读者⽬前对此只留有⼀初步概念即可,以后再进⼀步深⼊理解.)3.5 ⽤下⾯的scanf函数输⼊数据使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=57.8,请问在键盘上如何输⼊数据?scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&c1,&c2,&y,&z);解:main(){inta,b;floatx,y,z;charc1,c2;scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);}运⾏时输⼊:10 20Aa1.5 -3.75+1.5,67.8(注解:按%5d格式的要求输⼊a与b时,要先键⼊三个空格,⽽后再打⼊10与20。

C语言答案第3章

C语言答案第3章

C语⾔答案第3章第3章3.1请从以下的四个选项中选择1个正确答案:(1)以下叙述中错误的是(C)A.C语句必须以分号结束;B.复合语句在语法上被看作⼀条语句;C.空语句出现在任何位置都不会影响程序运⾏;D.赋值表达式末尾加分号就构成赋值语句。

(2)以下叙述中错误的是(D)A.C程序中的#include和#define⾏均不是C语句;B.除逗号运算符外,赋值运算符的优先级最低;C.C程序中,j++;是赋值语句;D.C程序中,+、-、*、/、%号是算术运算符,可⽤于整型和实型数的运算。

(3)以下叙述中正确的是(A)A.C程序中注释部分可以出现在程序中任意合适的地⽅;B.花括号"{"和"}"只能作为函数体的定界符;C.构成C程序的基本单位是函数,所有函数名都可以由⽤户命名;D.分号是C语句之间的分隔符,不是语句的⼀部分。

3.2结构化程序设计所规定的三种基本控制结构是那三种,请分别画出三种结构的执⾏流程图。

(1)顺序结构 (2)选择结构(3)循环结构(当型循环)循环结构(直到型循环)3.3 有如下if条件语句:if(aelse if(c试按缩进对齐的格式将以上语句改写为结构更清晰的等效if语句,并在每个条件表达式之后⽤逻辑表达式注释所满⾜的条件。

if(a{if(cif(belse /*(a=d)*/ x=3;}else if(c=b)&&(cx=4;else /*(a>=b)&&(c>=d))*/ x=5;3.4读程序写结果(1)从键盘输⼊58#includevoid main(){int a;scanf("%d",&a);if(a>50) printf("A=%d ",a); if(a>40) printf("B=%d ",a); if(a>30) printf("C=%d",a); }运⾏结果:A=58B=58C=58(2)#includevoid main(){int x=10,y=20,t=0;if(x==y) t=x;x=y;y=t; printf(“%d,%d \n”,x,y);}运⾏结果:20,0(3)#includevoid main()printf("%d\n",p);elseprintf("%d\n",p+2);}运⾏结果:1(4)#includevoid main(){int a=4,b=3,c=5,t=0;if(aif(aprintf("%d %d %d\n",a,b,c); }运⾏结果:5 3 4(5)#includevoid 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); }运⾏结果:1 3 2{int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(x) x-=3;printf("%d\n",x);}运⾏结果:-4(7)#includevoid main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){ case 0:a++; break; case 1:b++; break; } case 2:a++;b++; break;}printf("%d %d\n",a,b);}运⾏结果:2 1(8)#includevoid main(){int a=3,b=4,c=5,t=99;if(bif(aprintf("%d%d%d\n",a,b,c);}#includevoid main(){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':printf("warn");}}运⾏结果:passwarn3.5以下程序所表⽰的分段函数是(④)#includevoid main( ){int x,y;printf("Enter x: ");scanf("%d",&x);y=x>=0?2*x+1:0;printf("x=%d:f(x)=%d",x,y);}① 0 (x≤0) ② 0 (x≥0)f(x)= f(x)=2x+1 (x>0) 2x+1 (x<0)③ 2x+1 (x<0) ④ 0 (x<0)f(x)= f(x)=0 (x≥0) 2x+1 (x≥0) 3.6编程序计算下⾯的分段函数x-1 (x<0)y= x (x=0)x+1 (x>0)#includescanf("%d",&x);if(x<=0)if(x<0)y=x-1;elsey=x;elsey=x+1;printf("y=%d",y);}3.7编程序计算下⾯的分段函数0 (x=a或x=-a)y=x (x<-a或x>a)#include#includevoid main(){int x,a;double y;scanf("%d%d",&x,&a);if(x==a||x==-a)y=0;else if(x>-a&&xy=sqrt(a*a-x*x);elsey=x;printf("%lf",y);}3.8电⽂加密算法:输⼊⼀个⼩写字母,将字母循环后移5个位置后输出。

第三章复习题及答案

第三章复习题及答案

第三章复习题及答案1. 简述第三章中提到的主要概念,并给出至少两个例子来说明其应用场景。

答案:第三章主要介绍了数据结构的概念,包括数组、链表、栈和队列等。

例如,数组在处理固定大小的数据集时非常有用,如存储一个班级的学生成绩;链表则适用于数据项频繁插入和删除的情况,比如实现一个动态的购物车。

2. 描述第三章中讨论的算法复杂度,并解释时间复杂度和空间复杂度的区别。

答案:算法复杂度分为时间复杂度和空间复杂度。

时间复杂度关注的是算法执行所需的时间,通常用大O表示法来描述,如O(n)表示随着输入规模的增加,算法执行时间线性增长。

空间复杂度则关注的是算法执行过程中所需的存储空间,例如,一个需要存储所有输入数据的算法可能具有O(n)的空间复杂度。

3. 列举第三章中提到的排序算法,并比较它们的平均时间复杂度。

答案:第三章中提到的排序算法包括冒泡排序、选择排序、插入排序和快速排序。

冒泡排序和选择排序的平均时间复杂度为O(n^2),插入排序的平均时间复杂度也为O(n^2),而快速排序的平均时间复杂度为O(n log n)。

4. 解释第三章中提到的递归算法的工作原理,并给出一个递归算法的例子。

答案:递归算法是一种自我调用的函数,它将问题分解成更小的子问题,直到达到基本情况,然后逐步解决这些子问题以得到原始问题的解。

例如,计算阶乘的函数就是一个递归算法,阶乘函数调用自身来计算较小数字的阶乘,直到达到1,然后返回这些阶乘的乘积。

5. 讨论第三章中提到的动态规划与贪心算法的区别,并给出一个动态规划的例子。

答案:动态规划是一种通过将复杂问题分解为更简单的子问题,并存储这些子问题的解(通常是在表格中)来避免重复计算的方法。

贪心算法则是在每一步选择局部最优解,希望这样的局部最优解能导致全局最优解。

动态规划的例子是斐波那契数列的计算,通过存储已计算的斐波那契数来避免重复计算。

6. 根据第三章的内容,解释什么是图,并描述图的两种基本表示方法。

c语言程序设计第三章答案

c语言程序设计第三章答案

c语言程序设计第三章答案第三章:运算符与表达式一、算术运算符在C语言中,算术运算符用于在表达式中执行各种数学运算。

常见的算术运算符有加法运算符(+)、减法运算符(-)、乘法运算符(*)和除法运算符(/)等。

1. 加法运算符(+)加法运算符用于将两个操作数相加,并返回它们的和。

例如,表达式a + b将返回a和b的和。

2. 减法运算符(-)减法运算符用于从第一个操作数中减去第二个操作数,并返回它们的差。

例如,表达式a - b将返回a和b的差。

3. 乘法运算符(*)乘法运算符用于将两个操作数相乘,并返回它们的积。

例如,表达式a * b将返回a和b的积。

4. 除法运算符(/)除法运算符用于将第一个操作数除以第二个操作数,并返回它们的商。

例如,表达式a / b将返回a除以b的商。

二、关系运算符关系运算符用于比较两个操作数并返回一个布尔值(真或假)。

常见的关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。

1. 大于运算符(>)大于运算符用于检查第一个操作数是否大于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a > b将返回真或假。

2. 小于运算符(<)小于运算符用于检查第一个操作数是否小于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a < b将返回真或假。

3. 大于等于运算符(>=)大于等于运算符用于检查第一个操作数是否大于或等于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a >= b 将返回真或假。

4. 小于等于运算符(<=)小于等于运算符用于检查第一个操作数是否小于或等于第二个操作数。

如果是,则返回真(1),否则返回假(0)。

例如,表达式a <= b 将返回真或假。

5. 等于运算符(==)等于运算符用于检查两个操作数是否相等。

c语言第三章复习

c语言第三章复习

例 3=x-2*y; 赋值转换规则:使赋值号右边表达式值自动转换成其左边 变量的类型 a+b=3; 赋值表达式的值与变量值相等,且可嵌套 例 float f; 例 int i; i=2.56; int i; //结果i=2; i=10; f=i; a=b=c=5 //表达式值为5,a,b,c值为5 则 f=10.0 // b=5;a=5
说明:
“-”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据
第 二 章 数 据 描 述
例 例
5/2 = 2 5/2 = -5/2.0 ==-2.5 -5/2.0
例 例
5%2 5%2 -5%2 -5%2 1%10 1%10 5%1 5%1 5.5%2 5.5%2
= = 1 = = -1 = = 1 = = 0 ()
第 二 章 数 据 描 述
结合方向:自右向左 取expr2值 取expr3值 如 a>b?a:c>d?c:d a>b?a:(c>d?c:d) expr1、expr2、expr3类型可不同,表达式值取较高 的类型
例 x?„a‟:„b‟ //x=0,表达式值为‘b‟; x‡0,表达式值为‘a‟ x>y?1:1.5 //x>y ,值为1.0; x<y ,值为1.5
<
>
//只在a为真时,才判别b的值; 只在a、b都为真时,才判别 c的值 例 a||b||c //只在a为假时,才判别b的值; 只在a、b都为假时,才判别 c的值 例 a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d) //结果m=0,n=1
C 语 言 程 序 设 计
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言复习题1一、选择题1.C语言提供的合法的数据类型关键字是(B)。

(A)Double (B)short (C)integer (D)Char2.在C语言中,合法的长整型常数是(A )。

(A)0L (B)4962710 (C)0.054838743 (D)2.1869e103.若有说明和语句:int a=5;a++;此处表达式a++的值是( C)。

(A)7 (B)6 (C)5 (D)44.C语言中最简单的数据类型包括(B )。

(A)整型、实型、逻辑型 (B)整型、实型、字符型(C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型5.以下说法中正确的是( C)。

(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分6.在C语言中,要求运算数必须是整型的运算符是( A )。

(A) % (B) / (C) < (D) !7.以下有4个用户标识符,其中合法的一个是(C )。

(A) for (B) 4d (C) f2_G3 (D) short8.假定x和y为double型,则表达式x=2,y=x+3/2的值是( D )。

(A) 3.500000 (B) 3 (C) 2.000000 (D) 3.0000009.下面程序的输出是( C )。

(A) 0 (B) 1 (C) 3 (D) 不确定的值main(){ int x=10,y=3;printf("%d\n",y=x/y);}10.执行下面程序中输出语句后,a的值是( C )。

(A) 65 (B) 20 (C) 15 (D) 10main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}11.C语言提供的合法的关键字是( D )。

(A)Switch (B)cher (C)Case (D)default12.在C语言中,合法的字符常量是( B )。

(A)'\084' (B)'\x43' (C)'ab' (D)"\0"13.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( C )。

(A)1 (B)2 (C)2.0 (D)2.514.以下叙述中错误的是( B )。

(A)算法正确的程序最终一定会结束(B)算法正确的程序可以有零个输出(C)算法正确的程序可以有零个输入(D)算法正确的程序对于相同的输入一定有相同的结果15.若有以下程序片段:char str[]="ab\n\012\\\"";printf("%d",strlen(str));上面程序片段的输出结果是( C )。

(A)3 (B)4 (C)6 (D)1216.以下叙述中正确的是( B )。

(A) C语言的源程序不必通过编译就可以直接运行(B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令(C) C源程序经编译形成的二进制代码可以直接运行(D) C语言中的函数不可以单独进行编译17.下列不正确的转义字符是( C )。

(A)'\\' (B)'\" (C)'074' (D)'\0'18.若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为( D )。

(A) float (B) int (C) char (D) double19.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为( D )。

(A) 4 (B) 3 (C) 2 (D) 120.设x为int型变量,则执行以下语句后,x的值为( B )。

x=10; x+=x-=x-x;(A) 10 (B) 20 (C) 40 (D) 3021.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( C )。

(A) 4 (B) 16 (C) 32 (D) 5222.设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1. 42, y=5.2;则以下符合C语言语法的表达式是( A )。

(A) a+=a-=(b=4)*(a=3) (B) x%(-3); (C) a=a*3=2 (D) y=float(i)23.假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是( D )。

(A) x%=(k%=5) (B) x%=(k-k%5) (C) x%=k-k%5 (D) (x%=k)-(k%=5)24.以下程序的输出结果是( D )。

main(){ int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}(A) 10 10 (B) 12 12 (C) 11 10 (D) 11 1325.下列选项中,不能用作标识符的是( D )。

(A)_1234_ (B)_1_2 (C)int_2_ (D)2_int_26.以下所列的C语言常量中,错误的是( B )(A) 0xFF (B) 1.2e0.5 (C) 2L (D) '\72'27.以下选项中属于C语言的数据类型是( C )。

(A) 复数型 (B) 逻辑型 (C) 双精度型 (D) 集合型28.在C语言中,不正确的int类型的常数是( A )。

(A)32768 (B) 0 (C) 037 (D) 0xaf29.以下选项中,与k=n++完全等价的表达式是( A )。

(A) k=n,n=n+1 (B) n=n+1,k=n (C) k=++n (D) k+=n+130.以下程序的输出结果是( C )。

main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}(A) 5 (B) 4 (C) 6 (D) 不确定31.设有 int x=11; 则表达式 (x++ * 1/3) 的值是( A )。

(A) 3 (B) 4 (C) 11 (D) 1232.下列变量定义中合法的是 ( A )。

(A) short _a=1.le-1; (B) double b=1+5e2.5;(C) long do=0xfdaL; (D) float 2_and=1-e-3;33.以下程序的输出结果是( D )。

main(){ int a=3;printf("%d\n",(a+=a-=a*a) );}(A) -6 (B)12 (C) 0 (D) -1234.若变量已正确定义并赋值,下面符合C语言语法的表达式是( B)。

(A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b35.C语言中运算对象必须是整型的运算符是(A )。

(A) %= (B) / (C) = (D) 〈=36.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。

(A) 1 (B) 2 (C) 2.0 (D) 2.537.若变量a、i已正确定义,且i已正确赋值,合法的语句是( B )。

(A) a==1 (B) ++i; (C) a=a++=5; (D) a=int(i);38.有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是( D )。

(A) 3 4 (B) 4 2 (C) 4 3 (D) 3 339.设有说明语句:char a=’\72’;则变量a中(A )。

(A) 包含1个字符 (B) 包含2个字符(C) 包含3个字符(D) 说明不合法40.以下所列的C语言常量中,错误的是(B )。

(A) 0xFF (B) 1.2e0.5 (C) 2L (D) '\72'41.下列选项中,合法的C语言关键字是(D )。

(A) V AR (B) cher (C) integer (D) default42.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C )。

(A) -3 (B) 9 (C) -12 (D) 643.以下选项中,非法的字符常量是( C)。

(A) '\t' (B) '\17' (C)"n" (D) '\xaa'44.有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出结果是( B )。

(A) 9,2 (B) 10,2 (C) 9,1 (D) 10,145.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( D)。

(A) a的值是字符C (B) a的值是浮点型(C) 不允许字符型和浮点型相加(D) a的值是字符‘A’的ASCII值加上1。

46.以下程序的输出结果是( C)。

main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}(A) 5 (B) 4 (C) 6 (D) 不确定47.以下选项中不属于C语言的类型的是( D)。

(A) signed short int (B) unsigned long int(C) unsigned int (D) long short48.在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是 ( D)。

(A) a=20000+20000; (B) a=4000*10;(C) a=30000+10000; (D) a=4000L*10L;49.以下程序的输出结果是(C )。

main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}(A) 5 (B) 4 (C) 6 (D) 不确定50.以下叙述中正确的是(B )。

(A) C语言的源程序不必通过编译就可以直接运行(B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令(C) C源程序经编译形成的二进制代码可以直接运行(D) C语言中的函数不可以单独进行编译51.以下选项中合法的实型常数是(C )。

相关文档
最新文档