第2章 基本数据类型-习题(C语言)
- 格式:doc
- 大小:45.00 KB
- 文档页数:5
第2章基本数据类型和运算练习题一、单项选择题1.下列数据中属于“字符串常量"的是( ).A."a”B。
{ABC} C. ’abc\0’ D. 'a’2.下列数据中属于“字符串常量”的是( )。
A.ABC B. “ABC” C. ’abc’ D. ’a'3. 在PC机中,’\n’在内存占用的字节数是( ).A。
1 B. 2 C. 3 D. 44. 在PC机中,"a\xff” 在内存占用的字节数是()。
A. 5B. 6 C。
3 D. 45.字符串”ABC"在内存占用的字节数是( ).A. 3 B。
4 C. 6 D。
86.字符串”\”ABCD\”"在内存占用的字节数是()。
A. 4B. 6 C。
7 D. 87。
在C语言中,合法的长整型常数是( )。
A. 0LB.C. 0.D. 2。
1869e108.在C语言中,合法的短整型常数是()。
A。
OL B. 0821 C. 40000 D。
0x2a9。
下列数据中不属于“字符常量”的是( )。
A. ‘\a’B. ‘\160’C。
‘070’D。
07010.char型常量在内存中存放的是()。
A。
ASCII代码值B。
BCD代码值 C. 内码值D。
十进制代码值11.设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是( )。
A。
0,0 B。
0,1 C. 1,0 D。
1,112.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a〉b)”后,m,n的值是()。
A. 0,0B。
0,1 C. 1,0 D. 1,113.设a为2,执行下列语句后,b的值不为0.5的是( )。
A。
b=1。
0/a B. b=(float)(1/a)C。
b=1/(float)a D. b=1/(a*1.0)14.设a为5,执行下列语句后,b的值不为2的是( ).A。
高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。
A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。
2. C语言既适合编写,也适合编写应用软件。
标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。
程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3.以下叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
第二章数据类型运算符和表达式一、单项选择1.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( B )2.下面四个选项中,均是不合法的用户标识符的选项是( B )。
3.判断字符型变量c1是否为数字字符的正确表达式为( A )4.在C语言中,要求运算数必须是整型的运算符是( A )5.下面四个选项中,均是合法的用户标识符的选项是(A)。
6.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为(B)。
8.表达式18/4*sqrt(4.0)/8值的数据类型为(B)。
9.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( D )10.判断字符型变量c1是否为小写字母的正确表达式为(B)。
11.在C语言中,char型数据在内存中的存储形式是(C)。
12.以下选项中关于C语言常量的叙述错误的是:( D )13.下面正确的字符常量是(B)14.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( D)15.以下选项中,能表示逻辑值"假"的是( B )16.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(C)17.以下选项中非法的字符常量是( B )18.以下关于C语言数据类型使用的叙述中错误的是(B )19.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为(C)。
20.若有数学式3aebc,则不正确的C语言表达式是(A)21.下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是(C)二、填空1.若s是int型变量,s=6;则表达式s%2+(s+1)%2的值为___1__2.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为___9__3.C语言中的标识符只能由三种字符组成,它们是__字母___,_数字____和____下划线_4.若a.b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6,b值为_4,c值为_2_5.在C语言中,不带任何修饰符的浮点常量,是按___double__类型数据存储的。
读程序第一章概述[1]分析下列程序段的运行结果。
main( ){ char ch1='\101',ch2='\x 5c ';printf("%c,%c\n",ch1,ch2);}第二章基本数据类型和运算[1]分析下列程序,写出运行结果。
main(){printf("C语言各数据类型的长度为:\n");printf("short %d bytes\n",sizeof(short)); printf("int %d bytes\n",sizeof(int));printf("long %d bytes\n",sizeof(long);printf("char %d bytes\n",sizeof(char));printf("float %d bytes\n",sizeof(float)); printf("double %d bytes\n",sizeof(double)); }第三章顺序、选择和循环结构的程序设计[1]阅读程序,写出运行结果。
main(){ int a=10,b=4,c=3;if (a<b) a=b;if (a<c) a=c;printf("%d,%d,%d",a,b,c);}[2]阅读下列程序,写出程序的输出结果。
main(){ int x=100,a=10,b=20,ok1=5,ok2=0; if (a<b)if (b!=15)if (!ok1)x=1;else if(ok2)x=10;else x=-1;printf("%d\n",x);}[3]阅读下列程序,写出程序运行的输出结果。
main(){ int y=9;for (;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}[4]阅读下列程序:main(){int a;char b;float c;printf("input a b c:");scanf("%d%c%f",&a,&b,&c);printf("a=%d,b=%c,c=%f\n",a,b,c);}程序运行后若输入“1234r1234.567(回车)”,写出程序的输出结果。
第一章 C语言概述【题1.1】一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束【题1.2】以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误【题1.3】以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面【题1.4】C语言规定:在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后【题1.5】一个C语言程序时由。
A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成填空题【题1.6】C源程序的基本单位是【】【题1.7】一个C源程序中至少应包括一个【】【题1.8】在一个C源程序中,注释部分两侧的分界符分别为【】和【】【题1.9】在C语言中,输入操作是由库函数【】完成的,输出操作是由库函数【】完成的。
第二章数据类型、运算符与表达式2.1 选择题【题2.1】在C语言中(以16位PC机为例),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<double【 2.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
一、单选题1、以下选项中属于C语言的数据类型是______。
A:复数型B:逻辑型C:双精度型D:集合型答案:C难度:2知识点:单选题/第二章2、请选出可用作C语言用户标识符的一组标识符______。
①void ②a3_b3 ③For ④2adefine _123 _abc DOWORD IF case sizeofA:①B:②C:③D:④答案:B难度:2知识点:单选题/第二章3、若x和y都是int型变量,x=100、y=200,且有下面的程序片段printf("%d",(x,y) );上面程序片段的输出结果是______。
A:200 B:100 C:100 200 D:输入格式符不够,输出不确定的值答案:A难度:2知识点:读程序选结果/第二章4、下面程序#include <stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}的输出是______。
A:0 B:1 C:3 D:不确定的值第2 章单选题2 吕橙答案:C难度:2知识点:读程序选结果/第二章5、以下程序的输出结果是______。
#include<stdio.h>void main(){int i=10,j=10;printf("%d,%d\n",++i,j--);}A:11,10 B:9,10 C:010,9 D:10,9答案:A难度:2知识点:读程序选结果/第二章6、设有说明语句: char a = '\72'; 则变量a ______。
A:包含1个字符B:包含2个字符C:包含3个字符D:说明不合法答案:A难度:2知识点:单选题/第二章7、若已定义x和y为float类型,则表达式x=1,y=x+3/2的值是______。
A:1 B:2 C:2.000000 D:2.5答案:C难度:2知识点:读程序选结果/第二章8、若变量a、i已正确定义,且i已正确赋值,合法的语句是______。
第2章基本数据类型一.选择题1.不合法的字符常量是【】。
A) ‘\t’B) “B” C) ‘a’ D)’\x32’2.合法的字符常量是【】。
A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’3.C语言提供的合法的数据类型关键字是【】。
A) Float B) Signed C) integer D)char4.属于合法的C语言长整型常量的是【】。
A)2736 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是【】。
A)160 B)-0xcdg C)-01 D)-0x48a6.以下所列的C语言常量中,错误的是【】。
A)0xFF B)1.2e0.5 C)2L D)’\72’7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。
A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -1238.下选项中不属于C语言的类型是【】。
A)signed short int B)unsigned long intB)unsigned int D)long short9.判断int x = 0xaffb1。
x的结果是【】。
A)赋值非法 B)溢出 C)为affb D)为ffbc10.下面选项中,是合法浮点数的是【】。
A)+1e0.5 B)-.60 C)123e D)-e311.在C语言中,要求参加运算的数必须是整数的运算符是【】。
A)/ B)* C)% D) =12.在C语言中,字符型数据在内存中存放形式是【】。
A)原码 B)BCD码 C)反码 D)ASCII码13. 下列语句中,不符合语法的赋值语句是【 】 。
A)a=7+b+c=a+7; B)a=7+b++ ;C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;14. 下面非法的C 语言转义字符是【 】。
A)‘\b’ B)‘\0xf’ C)‘\037’ D)‘\’’15. 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为【 】A)6 B)7 C)8 D)916. 对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,正确的是【 】。
A)语法错误 B)f 为5.0 C)f 为0.0 D)f 为2.017. 与代数式uv xy不等价的C 语言表达式是【 】。
A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y18. 在C 语言中,数字029是一个【 】 。
A)八进制数 B)十六进制数 C)十进制数 D)非法数19. 对于char cx=‘\039’;语句,正确的是【 】 。
A)不合法 B)cx 的ASCII 值是33C)cx 的值为四个字符 D)cx 的值为三个字符20. 在C 语言中,不正确的short 类型的常数是 【 】 。
A)123 B)32768 C)037 D)0xAF21. 若int k=7,x=12;则能使值为3的表达式是【 】。
A)x%=(k%=5) B)x%=(k -k%5)C)x%=k -k%5 D)(x%=k)-(k%=5)22. 假定x 和y 为double 型,则表达式x=2,y=x+3/2的值是【 】。
A)3.500000 B)3 C)2.000000 D)3.00000023. 设以下变量均为int 类型,则值不等于7的表达式是【 】。
A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)24. 在16位C 编译系统上,若定义long a;,则能给a 赋40000的正确语句是【】。
A)a=20000+20000。
B)a=4000*10。
C)30000+10000。
D)a=4000L*10L 。
25. 7/9*9 在C 语言中的计算结果是 【 】。
A)1 B)7 C)0 D)以上都不是26. 以下能正确定义且赋初值的语句是【 】A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;27. 若有定义: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.00000028. 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是【 】A)sizeof,&=,<<,^ B)sizeof,<<,^,&=C)^,<<,sizeof,&= D)<<,^,&=,sizeof29. 设变量a 是int 型,f 是float 型,i 是double 型,则表达式10+’a ’+i*f 值的数据类型为【 】A)int B)float C)double D)不确定二.填空题1. C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为【 】。
2. 字符常量使用一对【 】界定单个字符,而字符串常量使用一对【 】来界定若干个字符的序列。
3. 在C 语言中,不同运算符之间运算次序存在【 】的区别,同一运算符之间运算次序存在【 】的规则。
4. 设x,i,j,k 都是int 型变量,表达式x=(i=4,j=16,k=32)计算后,x 的值为【 】 。
5. 设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4为【 】。
6. 设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的值为【 】。
7. 数学式子)32(3y x e ++的C 语言表达式为【 】。
8. 数学式子x yx y x 3++-的C 语言表达式为【 】 。
9.数学式子a acb b24 2-+-的C语言表达式为【】。
10.已知:char a=‘a’,b=‘b’,c=‘c’,i;则表达式i=a+b+c的值为【】。
11.已知int a=12,n=5;则:a+=a; a-=2;a*=2+3 ;a/=a+a ;n%=(n%=2) ;a+=a-=a*=a ;表达式运算后a的值各为【】。
12.设int a; float f; double i ;则表达式10+’a’+i*f值的数据类型是【】。
13.若a为int型变量,则表达式 (a=4*5,a*2) ,a+6的值为【】。
14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为【】。
15.已知a,b,c是一个十进制数x的百位,十位,个位,则计算a,b,c的表达式是【】。
16.定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是【】,表达式y+=x++的值是【】。
17.定义:int m=5,n=3;则表达式m/=n+4的值是【】,表达式m=(m=1,n=2,n-m)的值是【】,表达式m+=m-=(m=1)*(n=2)的值是【】。
18.表达式5%(-3)的值是【 2 】,表达式-5%(-3)的值是【】。
19.若a是int变量,则执行表达式a=25/3%3后,a的值是【】。
三.判断题1.在C程序中对用到的所有数据都必须指定其数据类型。
【】2.一个变量在内存中占据一定的存储单元。
【】3.一个实型变量的值肯定是精确的。
【】4.对几个变量在定义时赋初值可以写成:int a=b=c=3;【】5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
【】6.在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。
【】7.%运算符要求运算数必须是整数。
【】8.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。
【】9.C语言不允许混合类型数据间进行运算。
【】四.简答题1.为什么C语言的字符型可以进行数值运算?2.简述‘a’和“a”的区别。
3.程序:int m=12; m=15;为什么整型变量m的值在运算后不是当初的12,而是15?4.华氏温度F与摄氏温度c的转换公式为:c=(F-32)*5/9 ,则float c,F; c=5/9*(F-32)是其对应的C语言表达式吗?如果不是,为什么?五.程序阅读题1.写出以下程序运行的结果。
void main( ){ char c1='a',c2='b',c3='c',c4='\101',c5='\102';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c",c4,c5);}2.写出以下程序运行的结果。
void main( ){ int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}。