c语言考前冲刺(仅供借鉴)
- 格式:doc
- 大小:113.00 KB
- 文档页数:12
C程序设计复习资料含复习资料一、C 语言基础1、数据类型C 语言中有多种数据类型,包括整型(int)、浮点型(float、double)、字符型(char)等。
了解不同数据类型的取值范围和存储方式是编程的基础。
例如,整型可以分为短整型(short int)、整型(int)和长整型(long int),它们的存储空间和取值范围各不相同。
2、变量和常量变量用于存储程序运行过程中可以改变的值,常量则是固定不变的值。
在 C 语言中,变量需要先声明后使用,常量可以用宏定义或者使用关键字 const 来定义。
3、运算符和表达式C 语言中的运算符包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等。
掌握这些运算符的优先级和结合性,能够正确编写表达式。
例如,表达式 a = 5 + 3 2 的计算结果是 11,因为乘法运算符的优先级高于加法运算符。
4、控制结构(1)顺序结构:程序按照语句的先后顺序依次执行。
(2)选择结构:包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。
(3)循环结构:有 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。
二、数组和指针1、数组数组是一组相同类型的变量的集合,可以通过下标来访问数组中的元素。
例如,定义一个整型数组 int arr5 ={1, 2, 3, 4, 5},可以通过 arr0来访问第一个元素 1。
2、指针指针是 C 语言中非常重要的概念,它是一个变量,用于存储另一个变量的地址。
通过指针可以间接访问变量的值,并且能够实现动态内存分配。
例如,int p; 定义了一个指向整型的指针 p,通过 p =&a; 可以将指针 p 指向变量 a 的地址,然后通过 p 来访问变量 a 的值。
三、函数1、函数的定义和调用函数是一段独立的代码块,用于完成特定的任务。
函数可以有返回值,也可以没有返回值。
C语言最重要的知识点复习资料!总体上必须清楚的: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位系统。
碰到这种情况,不要去管,一样做题。
以下是C语言考试中的一些必考知识点:
1. 数据类型:包括整型、浮点型、字符型等数据类型,以及它们的范围和存储方式。
2. 变量和常量:如何声明、定义和使用变量,常量的使用方法。
3. 运算符:包括算术运算符、关系运算符、逻辑运算符等,以及它们的优先级和结合性。
4. 控制结构:包括条件语句(if-else语句、switch语句)、循环语句(for循环、while循环、do-while循环)以及跳转语句(break语句、continue语句)等。
5. 数组:如何声明、定义和使用数组,多维数组的操作。
6. 函数:如何声明、定义和调用函数,函数的参数传递方式(值传递、引用传递)。
7. 字符串处理:字符串的定义和初始化,字符串的输入输出,字符串的操作(比较、连接、复制等)。
8. 指针:指针的定义和初始化,指针的运算,指针与数组的关系。
9. 结构体和联合体:结构体的定义和使用,结构体成员的访问,联合体的定义和使用。
10. 文件操作:文件的打开、读写和关闭,文件指针的操作。
以上是C语言考试中的一些必考知识点,建议你结合教材和练习题进行系统地学习和复习。
在备考过程中,多做一些相关的编程练习和实践,加深对知识点的理解和掌握。
一、选择题:1.‖a‖在内存中占 B 字节。
A.1个B.2个C.3个D.4个2.‘A‘+10的结果是 A 。
A.‘K‘B.‖K‖C.‘J‘D.‖J‖3.字符型数据在微机内存中的存储形式是:DA.反码 B.补码 C.EBCDIC码 D.ASCII码4. 用C语言编制的源程序要变为目标程序,必须经过:DA. 汇编B.解释C. 编辑D.编译5.以下选项中不合法的用户标识符是AA.abc.cB.fileC.MainD.PRINTF6.以下选项中正确的实型常量是 DA.0B.3. 1415C.0.329 102D. .8717. 执行scanf (―%d%c%f‖,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 C .A. a=1234 b=‘a‘c=12.56B. a=1 b=‘2‘c=341256C. a=1234 b=‘a‘c=12.0D. a=1234 b=‘a12‘c=56.08. 设b=1234 , 执行printf(―%%d@%d‖,b) 语句,输出结果为: D .A. 1234B. %1234C. %%d@1234D. %d@ 12349. 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 A 。
main(){ int x;scanf(―%d‖,&x);if(x++>5)printf(―%d‖,x);elseprinf(―%d\n‖,x--);}A. 7和5B. 6和5C. 7和4D. 6和410. 设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是 A 。
A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)11. 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是: B 。
十分基础的c语言考试题及答案1. 写出C语言中定义一个结构体的语法。
答案:在C语言中,定义一个结构体的语法如下:```cstruct 结构体名 {类型成员1;类型成员2;...类型成员n;};```其中,`类型`可以是任意合法的数据类型,`成员1`到`成员n`是结构体的成员变量。
2. 如何在C语言中声明一个函数?答案:在C语言中,声明一个函数的语法如下:```c返回类型函数名(参数类型1 参数名1, 参数类型2 参数名2, ...); ```其中,`返回类型`是函数执行完毕后返回的数据类型,`函数名`是函数的标识符,`参数类型`和`参数名`分别表示函数参数的类型和名称。
3. 请写出C语言中数组的声明方式。
答案:在C语言中,数组的声明方式如下:```c类型数组名[数组大小];```或者```c类型数组名[] = {初值1, 初值2, ..., 初值n};```其中,`类型`是数组元素的数据类型,`数组名`是数组的标识符,`数组大小`是数组中元素的数量,`初值1`到`初值n`是数组的初始值。
4. 解释C语言中的指针是什么。
答案:C语言中的指针是一种变量,它存储了另一个变量的内存地址。
指针可以用于访问和操作内存中的数据,提高程序的效率和灵活性。
5. 如何在C语言中使用条件语句?答案:在C语言中,使用条件语句的语法如下:```cif (条件表达式) {// 当条件表达式为真时执行的代码} else {// 当条件表达式为假时执行的代码}```其中,`条件表达式`是一个返回布尔值的表达式,如果表达式的值为真(非零),则执行`if`块内的代码;否则,执行`else`块内的代码。
6. 请写出C语言中循环结构的语法。
答案:C语言中有两种基本的循环结构:`for`循环和`while`循环。
`for`循环的语法如下:```cfor (初始化表达式; 循环条件; 步进表达式) {// 循环体}````while`循环的语法如下:```cwhile (循环条件) {// 循环体}```其中,`初始化表达式`用于初始化循环变量,`循环条件`是一个返回布尔值的表达式,`步进表达式`用于更新循环变量。
计算机等级考试C语言冲刺题程序填空题2014年计算机等级考试C语言冲刺题(程序填空题)冲刺题一请补充main()函数,该函数的功能是:输入两个正整数numl和num2,求这两个数的最大公约数和最小公倍数。
例如,若输人的两个正整数为12,4,则它们的最大公约数为4,最小公倍数为12。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:#include#includevoid main(){int a,b,numl,num2,t;system(”CLS”):printf(”\nlnput tWO numbers:\n”);scanf(”%d,%d”,&numl,&num2);if(numl {a=num2;b=numl;}else{a=num1:b=num2:)while(【1】){t=【2】a=b;b=t;}printf("greatest common divisor:%d\n”,a);printf(”least common multiple:%d\n”,【3】);冲刺题二请补充函数proc(),其功能是:计算并输出给定10个数的方差。
例如,拾定的10个数为12.0,9.0.26.0,5.0,6.0,31.0,9.0,3.0,8.0,18、0,输出为s=8.8771500。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若于表达式或语句。
试题程序:#include#includedouble proc(double xElO]){int i;double avg=0.0;double 8urn=0.0;double abs=0.0:double sd;for(i=0:i<10;i++)【1】 ;avg=sum/10;for(i=0;i<10;i十十)【2】 ;sd= 【3】 ;return sd;void main(){double s,str[10]={12.0,9.0,26.0,5.0,6.0,31.0.9.0,3.0,8.0,18.0);int i;printf(”\nThe original data is:\n”);for(i一0;i<10;i++)t)rintf(”%6.lf,slr[i]):printf(”\n\n”);s=proc(str):printf(”s=%f\n\n”,s);)冲刺题三请补充main()函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。
2023计算机二级考试C语言考前冲刺题2023计算机二级考试C语言考前冲刺题导语:计算机二级复习过程中,练习题更是不行忽视的一部分,下面是计算机二级考试C语言考前冲刺题,一起来练习一下吧:一、单选题1). 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以消失在表达式中D.函数调用可以作为一个函数的形参正确答案:D2). 下列是用户自定义标识符的是A._w1B.3_xyC.intD.LINE-3正确答案:A3). 以下叙述中不正确的是A.在不同的函数中可以使用相同的名字的变量B.函数中的.形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效正确答案:D4). 以下描述错误的是A.C程序中,函数可以直接或间接的调用自己B.函数调用时,函数名必需与所调用的函数名字完全全都C.函数说明语句中的类型必需与函数返回值的类型全都D.实参数可以与形参个数不全都正确答案:D5). 下列说法中正确的是( )。
A.C程序书写时,不区分大小写字母B.C程序书写时,一行只能写一个语句C. C程序书写时,一个语句可分成几行书写D. C程序书写时每行必需有行号正确答案:C答案解析:C语言严格区分大小写字母,如A1和a1被认为是两个不同的标识符,C程序的书写特别敏捷,既可以一行多句,又可以一句多行,且每行不加行号。
6). 已知:char a[20]= abc,b[20]= defghi;则执行下列语句后的输出结果为printf(%d,strlen(strcpy(a,b)));A.11B.6C.5D.以上答案都不正确正确答案:B二、程序修改题给定程序MODl1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中消失的次数(统计时不区分大小写),并将消失次数最高的字母输出(假如有多个相同,输出一个即可)。
2012年计算机等级考试二级C语言考前冲刺预测试题精选及答案解析一、选择题在下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)结构化程序设计主要强调是A)程序规模B)程序效率C)程序设计语言先进性D)程序易读性(2)为了避免流程图在描述程序逻辑时灵活性,提出了用方框图来代替传统程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(3)为了使模块尽可能独立,要求A)模块内聚程度要尽量高,且各模块间耦合程度要尽量强B)模块内聚程度要尽量高,且各模块间耦合程度要尽量弱C)模块内聚程度要尽量低,且各模块间耦合程度要尽量弱D)模块内聚程度要尽量低,且各模块间耦合程度要尽量强(4)需求分析阶段任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法有穷性是指A)算法程序运行时间是有限B)算法程序所处理数据量是有限C)算法程序长度是有限D)算法只能被有限用户使用(6)对长度为n线性表排序,在最坏情况下,比较次数不是n(n-1)/2排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库描述,正确是A)数据处理是将信息转化为数据过程B)数据物理独立性是指当数据逻辑结构改变时,数据存储结构不变C)关系中每一列称为元组,一个元组就是一个字段D)如果一个关系中属性或属性组并非该关系关键字,但它是另一个关系关键字,则称其为本关系外关键字(11)以下叙述中正确是A)用C程序实现算法必须要有输入和输出操作B)用C程序实现算法可以没有输出但必须要有输入C)用C程序实现算法可以没有输入但必须要有输出D)用C程序实现算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符一组是A)void, define, WORDB)a3_3,_123,CarC)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量是A)-80B)-080C)-8e1.0D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5字符型数组C) 定义line是一个指针数组,语句中*号称为间址运算符D) 定义line是一个指向字符型函数指针(15)以下定义语句中正确是A)int a=b=0;B)char A=65+1,b=′b′;C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符aASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序输出结果是A)409B)277C)1D)91(18)当变量c值不为2、4、6时,值也为"真"表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7(20)有以下程序#includemain(){ 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; case 3:a++; b++;}printf("a=%d,b=%d\n",a,b); }程序运行结果是A)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=1(21)下列程序输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确是A)循环控制表达式值为0B)循环控制表达式值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3B)4C)1D)2(24)以下错误定义语句是A)int x[][3]={{0},{1},{1,2,3}};B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序输出结果是A)69825B)63825C)6385D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误输入语句是A)gets(&s[0]);B)scanf("%s",s+1);C)gets(s);D)scanf("%s",s[1]);(28)以下叙述中错误是A)在程序中凡是以"#"开始语句行都是预处理命令行B)预处理命令行最后不能以分号表示结束C)#define MAX 是合法宏定义命令行D)C程序对预处理命令行处理是在程序执行过程中进行(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组选项是A)int a[5]={0,1,2,3,4,5};B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′};D)int a[5]="0123";(32)有以下程序#includemain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′}; printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include#includevoid fun(char *s[],int n){ char *t; int i,j;for(i=0;ifor(j=i+1;jif(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} }main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序运行结果是A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc(34)有以下程序#includeint f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序运行结果是A)0B)9C)6D)8(35)下面程序段运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67B)0C)字符′C′地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示链表结构:指针p指向变量a,q指向变量c。
二、语法基础
14.C语言的下列运算符中,优先级最高的运算符是(A)。
A.++
B. +=
C. ||
D. !=
课本P42
优先级别从低到高为:+=、||、!=、++
15.(D )为正确的用户标识符。
A.Struct
B. 5f
C. _f0.6
D. _for
合法用户标识符是有字母、数字、下划线构成,且不能以数字开头。
另外C语言关键字(课本P301)不能作为用户标识符。
A Struct 为关键字
B 5f 数字开头
C _f0.6含有非法字符.
所以答案选D
16.C语言基本数据类型包括(B)。
A.整型、实型、逻辑型
B. 整型、实型、字符型
C. 整型、字符型、逻辑型
D. 整型、实型、字符串型
课本P21
实型即浮点型
17.(A )为合法的常量。
A.52686L
B. E-7
C. 1.2E-2.1
D. 'E12'
课本P22 3.2常量
A正确,52686L为长整型常量
以指数形式aEn表示实数时,a和n都不能省略,且n必须是整数。
所以B和C都错
D 一个字符加单引号是字符常量,1个字或多个字符加双引号是字符串常量,所以D错
18.(C )为正确的变量名。
A.-k15
B. Int
C. k_5
D. k.jeep
见15题解释
19.(D)为正确的字符常量。
A.''\\''
B. "\24m"
C. "c"
D. 'M'
见17题解释
A,C表示错误,应该加单引号表示字符常量。
B是字符串常量。
20.(C)为非法的字符串常量。
A." "
B. "s"
C. 'efg'
D. "26'62"
1个字或多个字符加双引号是字符串常量,空格字符也是一个字符
21.C语言整型数据在内存中的代码是用(C)表示的。
A.原码
B. 反码
C. 补码
D. BCD码
22.以下选项中,合法的实型常数是(B)。
A.E-3
B. .2E1
C. 1E.5
D. 1.5E
以指数形式aEn表示实数时,a和n都不能省略,且n必须是整数
23.下列C语言合法的数据类型关键字是(B )。
A.Double
B. Unsigned
C. Integer
D. Char
这题答案错误,C语言大小写是有区别的,A,B,C,D都错,
double、unsigned、char 才是合法的数据类型关键字
24.Turbo C中,int型数据占用的字节数(B )。
A.由用户自己定义
B.为2个字节
C.是任意的
D.等于所用计算机的字长
见课本P28 表3-2
25.Turbo C中,基本数据类型存储空间长度的排列顺序是(A)。
A.char<int<long int<float<double
B.char=int<long int<float<double
C.char<int<long int=float=double
D.char=int=long int<float<double
见课本P28 表3-2
不同的编译系统规定基本数据类型存储空间长度是不同的,Turbo C规定:
char=1个字节
int=2个字节
long=4个字节
float=4个字节
double=8个字节
A.char<int<long int<float<double 应该改为char<int<long int=float<double 才正确
26.以下叙述中正确的是(A )。
A.字符常量用一对单撇号' '作为单个字符的定界符
B.字符常量和字符串常量一样,都是用双引号括起来
C.字符常量存储时,自动在字符后加一个字符结束符号'\0'
D.字符常量和字符串常量所分配的内存空间大小是一样的
B 错,一个字符加单引号是字符常量,1个字或多个字符加双引号是字符串常量。
C 错,应该是字符串常量存储时,自动在字符后加一个字符结束符号'\0'
D错,字符常量和字符串常量所分配的内存空间大小不是一样的
27.已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运
行结果是(A)。
main( )
{ char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A.67,D
B. C,D
C. C,68
D. 67,68
ch1='A'+'5'-'3'='A'+2 所以ch1以%d 格式输出是67 ,以%c输出是C
ch2='A'+'6'-'3'='A'+3 所以ch2以%d 格式输出是68,以%c输出是D
所以答案选A
28.若有定义int m=6; 则正确的赋值表达式是(C)。
A.m*7
B. m*5=8
C. m-=m*6
D. double(-m)。