C语言自测题.docx
- 文档编号:25151618
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:65
- 大小:41.06KB
C语言自测题.docx
《C语言自测题.docx》由会员分享,可在线阅读,更多相关《C语言自测题.docx(65页珍藏版)》请在冰豆网上搜索。
C语言自测题
选择题
1C语言中使用的字符常量,其起止标记符是(单引号)。
2语言中使用的字符串常量,其起止标记符是(双引号)。
3在C语言中,一条简单语句的结束符是(分号)。
4在C语言中,每条复合语句的开始标记字符为({)。
5不符合C语言规定的复合语句是({y=10})。
6C语言中的选择类语句有两条,它们是(if和switch)。
7在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(main)。
8C语言程序中的基本功能模块为(函数)。
9一个函数定义所包含的两个部分是(函数头和函数)。
10一个程序文件开始使用的每条预处理命令,其首字符必须是(#)。
11在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对(尖括号)。
12在C语言程序中,单行或行尾注释使用的标记符为(//)。
13在C语言程序中,多行注释使用的结束标记符为(*/).
14用于输出表达式值的标准输出函数是(printf())。
15在printf()函数调用的格式字符串中,每个格式符的先导字符为(%)。
16在printf()函数调用的格式字符串中,若使用格式符为“%d”,则对应输出的数据类型为(int)。
17在printf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输出的数据类型为(float)。
18在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为(5)。
19程序运行中需要从键盘上输入多于一个数据时,若不特别规定分隔符,则输入的各数据之间所使用的分隔符为(逗号或回车)。
20用于从键盘上为变量输入值的标准输入函数是(scanf())。
21在scanf()函数调用的格式字符串中,每个格式符的先导字符为(%)。
22在scanf()函数调用的格式字符串中,若使用格式字符串为“%d,%d”,则规定输入的两个数据之间的分隔符为(@)。
23C语言源程序文件的扩展名为(c)。
24每个C语言程序文件的编译错误的类型有(2种)。
25每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为(warning)。
26.C语言中的循环类语句有3条,它们是(for,while,do)。
27.C语言中的跳转类语句有四条,它们是goto,return和(break,continue)。
28.当不需要函数返回任何值时,则所使用的返回类型为(void)。
29.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和(参数表)。
30.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为(#include)。
31.在#include预处理命令中,不可以包含(目标文件)。
32.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为(6)。
33.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为
(2)。
34.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为(3)。
35.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为(float)。
36.在scanf()函数调用的格式字符串中,若使用格式符为“%Lf”,则对应输入的数据类型为(double)。
37.每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为(error)。
38.在VC++环境下,为运行一个程序而建立的工作区文件的扩展名为(dsp)。
39.char类型的长度为
(1)。
40.常数120的数据类型为(整型)。
41.一个无符号字符类型的值域范围是(0到255)。
42数值常量0x62的表示方式为(十六进制)。
43在C语言中,表示换行符的转义字符为(\n)。
44字符串"It\'s\'"中包含的字符个数为(5)。
45执行“printf("%c",'B'+2);”语句后得到的输出结果为(D)。
46要定义a和b为两个整型变量,则使用的定义语句为(inta,b)。
47运算符优先级最高的是(++)。
48下列数值中最小值是(35%3)。
49已知x的初值为15,则下列各表达式中的最小值为(x/=2)。
50若x=5,y=10,则计算y*=++x表达式后,y的值为(60)。
51设x和y均为逻辑值,则x&&y为真的条件是(它们均为真)。
52x<=10的相反表达式为(x>10)。
53函数pow(4,3)的值为(64.0)。
54假定x=4.6,则函数floor(x)的值为(4.0)。
55正弦函数sin48在C语言的表示为(sin(48*3.14159/180))。
56int类型的长度为(4)。
57常数-4.25的数据类型为(双精度型)。
58一个有符号字符类型的值域范围是(-128到+127)。
59字符串"Its\40\n"的长度为(5)。
60实数340.25对应的规格化浮点数为(3.4025e2)。
61要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为(constintABC=10)。
62要利用#define命令定义ABC常量的值为100,则对应的命令格式为(#defineABC==10)。
63下列数值中最大值是(28%8)。
64在下面运算符中,优先级最高的是(!
)。
65设有语句序列为“inta=12;a+=a*a;”,则执行结束后,a的值为(156)。
66在C语言中,用于比较大小的关系运算符的总数为(6)。
67x>0&&y<=5的相反表达式为(x<=0||y>5)。
68假定x是一个逻辑量,则(x&&!
x)和(x||!
x)的值分别为(0和1)。
69假定x=4.6,则函数ceil(x)的值为(5.0)。
70表达式floor(2.3457*100+0.5)/100的值为(2.35)。
71若x的值为5,则执行“if(x>10)x++;elsex--;”语句后,x的值为(4)。
72若x的值为-10,则执行“if(x)x++;elsex--;”语句后,x的值为(-9)。
73在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成语句(if)。
74每个C语言程序文件的编译错误的类型有()。
2.在switch语句中,每个保留字case后面的表达式必须是()。
常量
75当处理问题时的循环次数是确定的,则采用的最合适的循环方式为(for)。
76若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字(const)。
77已知'A'~'Z'的ASCII码为65~90,当执行“intx='C'+5;”语句后x的值为(72)。
78每次先进行循环条件的判断,然后再执行循环体的语句为(for和while)。
79若n的值为5,s的值为0,则执行“while(n>0)s+=n--;”语句后,s的值为(15)。
80流程控制类语句包括的3类语句为(选择、循环、跳转)。
81若i的值为0,则执行“doi++;while(i*i<10);”语句的过程中,循环体被执行的次数为(4)。
82若要结束所在函数的执行过程,返回到调用该函数所在位置,则使用的语句为(return)。
83要结束所在循环语句中循环体的一次执行,则在其中使用的语句为(continue)。
84若x的值为15,则执行“if(x>10)x++;elsex--;”语句后,x的值为(16)。
85若x的值为-10,则执行“if(!
x)x++;elsex--;”语句后,x的值为(-11)。
86若x的值为10,则执行“switch(x%3){case0:
x++;case1:
x++;case2:
x++;}”语句后,x的值为(12)。
87若x的值为10,则执行“switch(x%3){case0:
x++;break;case1:
x++;default:
x++;}”语句后,x的值为(12)。
88若n的值为10,则执行“for(i=1;i (1)。 89若n的值为10,则执行“for(i=0;;i++)if(i>n/3)break;”语句后,i的值为(4)。 90若n的值为10,则执行“for(i=1;i 91若n的值为10,则执行“for(i=0;i 92若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为(10)。 93若n的值为5,s的值为0,则执行“while(n-->0)s+=n;”语句后,s的值为(10)。 94在下列的语句中,必须以分号作为结束的语句是(do)。 95若n的值为5,s的值为0,则执行“dos+=n--;while(n>0);”语句后,s的值为(15)。 96要结束任一种循环语句或switch语句的执行,则在其中使用的语句为(break)。 97在一个数组中,数组元素a[i]前面的元素个数为(i)。 98假定一维数组的定义为“chara[8];”,则该数组所占用的存储空间的字节数为(8)。 99假定有一个定义语句为“inta[10]={3,4,2,8,6};”,则元素a[3]的值为(8)。 100在下面字符数组的定义语句中,有语法错误的是(chara[10]='5')。 101假定有一个定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(0)。 102假定二维数组的定义语句为“int*a[3][5];”,则该数组所占用的存储空间的字节数为(60)。 103使用“typedefintInteger;”语句把标识符Integer定义为一个(整数类型)。 104使用“typedefintABC[10];”语句把标识符ABC定义为(整型数组类型)。 105利用一维字符数组存储一个字符串时,在其末尾自动存储的一个字符是(\0)。 106一个二维字符数组a[M][N]能够存储的字符串个数至多为(M)。 107若需要把一个字符串赋给字符数组,则选用的函数是(strcpy)。 108假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为(40)。 109假定一维数组的定义为“char*a[8];”,则该数组所占用的存储空间的字节数为(32)。 110假定有一个定义语句为“inta[10]={3,4,2,8,6};”,则元素a[5]的值为(0)。 111在下面的一维数组定义语句中,有语法错误的是(inta[])。 112假定二维数组的定义语句为“inta[3][5];”,则该数组所含元素的个数为(15)。 113假定有一个定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(6)。 114对于一个长度为n的字符串,保存它至少需要占用的存储字节数为(n+1)。 115对于一个二维字符数组a[M][N],存储每个字符串的长度至多为(N-1)。 116若需要比较两个字符串的大小,则选用的函数是(strcmp)。 117一个指针类型的简单变量占用内存中的字节数为(4)。 118在定义指针变量的语句中,在指针变量名的前面标记的字符为(*)。 119假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(1个字节)。 120假定变量m定义为“intm=7;”,则下面定义语句格式正确的是(int*p=&m)。 121假定一个数据对象为int*类型,则指向该对象的指针类型为(int**)。 122假定p是一个指向数据对象的指针,则通过p表示该数据对象为(*p)。 123若p指向x,则与x的等价表示为(*x)。 124假定a为一个数组名,则下面表达式中错误的是(*a++)。 125已知“inta[10],x,*pa=a;”,若要把数组a[3]元素的值赋给x,则不正确的语句为(x=*pa+3)。 126已知“chara[3][5];”,则元素a[2][3]的地址比该数组的首地址大(13个字节)。 127一个二维数组元素为a[i][j],它的指针访问方式不正确的是(*a[i]+j)。 128对于每个进行动态存储分配的函数,其返回值类型为(void*)。 129已知“int*p=calloc(24,sizeof(int));”,则p所指向的动态内存空间中,能够存储整型元素的个数为(24)。 130一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为DataType类型,则该指针的类型为(DataType*)。 131NULL是一个符号常量,通常作为空指针值,它的取值为(0)。 132一个整型指针p转换为字符指针,则采用的强制转换表达式为((char*)p)。 133若要定义整型指针p并初始指向x,则所使用的定义语句为(int*p=&x)。 134假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为(25)。 135假定p是一个指针变量,则该变量的地址表示为(&p)。 136已知“char*s="Helloworld! ";”,要使变量p指向s所指向的同一个字符串,则p应定义为(char*p=s)。 137假定a为一个数组名,则下面表达式中错误的是(*a++)。 138已知“charb[10]=”12345”,*p=b;”,则*(p+2)的值为('3')。 139已知“inta[6][5];”,则元素a[2][4]的地址比该数组的首地址大(56个字节)。 140要使p指向二维整型数组a[10][20],p应定义为(int(*p)[20]=a)。 141执行“int*p=malloc(sizeof(double)*2);”语句后得到的动态存储空间的字节数为(16)。 142利用动态存储分配创建具有10个字节的一维数组空间的正确语句是(char*p=malloc(10))。 143下面正确的函数原型语句是(intFunction(voida)) 144函数调用func(2+x,4*y,5)中所含实参的个数为(3)。 145在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的(原型语句)。 146假定一个函数的原型为intff(intx),一个整型变量为a,则下面函数调用表达式不正确的是(ff(*a) )。 147若用数组名作为函数调用的实参,传递给形参的是(数组的首地址)。 148假定一个函数原型为intf1(inta[][N],intn),与数组参数等价的表示为(int(*a)[N])。 149在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是(语句)。 150函数定义参数表中的每个形参变量,其作用域范围为所在的整个(函数)。 151在函数外定义的变量,若不带有作用域关键字,则它具有(全局作用域)。 152在函数体中把出现调用自身函数的情况称为(直接递归调用)。 153在函数定义的参数表中,也可以使用函数参数,假定一个函数参数原型为intff(int),则等价的函数指针说明为(int(*ff)(int))。 154在下面的函数声明语句中存在着语法错误的是(AA(inta;intb))。 155如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为(static)。 156假定一个函数定义为“externchar*f1(char*x){returnx;}”,表示该函数作用域的关键字为(extern)。 157假定一个函数的原型语句为“intff(int*x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是(ff(a[0]))。 158假定一个函数原型语句为“intf1(inta[],intn);”,与数组参数等价的表示为(int*a)。 159假定一个函数的参数说明为constinta,则在函数体中不能进行的操作是(a=10)。 160在函数体中定义的变量具有(局部作用域)。 161在函数外定义的变量,若带有作用域关键字static,则它具有(文件作用域)。 162在函数体中定义一个静态变量时,选用的存储属性关键字为(static)。 163假定一个函数原型为“voidff(inta[],intn)”,则对应的函数指针类型为(void(*ff)(int*a,int))。 164在结构类型的定义中,使用的关键字是(struct)。 165在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是(分号)。 166假定一个结构类型的定义为“structB{inta[5];char*b;};”,则该类型的长度为(24)。 167假定有结构定义为“structBook{chartitle[20];doubleprice;}bk;”,则不正确的语句定义为(structBookc=&bk;)。 168假定有结构定义为“structBook{chartitle[20];doubleprice;};”,则不正确的语句定义为(structBook*x=calloc(sizeof(structBook));)。 169假定要访问一个结构变量x中的数据成员a,则表示方法为(x.a)。 170假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为(x: a)。 171假定一个链表中结点的结构类型为“structAA{intdata,structAA*next;};”,则next数据成员的类型为(structAA*)。 172假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为p->next=f和(f=p)。 173在联合类型的定义中,使用的关键字是(union)。 174每种类型的定义都对应有一个C语言保留字(关键字),如联合类型的定义使用的关键字为union,结构类型的定义使用的关键字为struct。 (8) 175在结构类型的定义中,对于类型标识符后的定义体,使用的起止标记符是一对(圆括号)。 176假定一个结构类型的定义为“structA{inta,b;doublec;};”,则该类型的长度为(16)。 177假定一个结构类型的定义为“structD{inta;D*next;};”,则该类型的长度为(8)。 178假定有结构定义“structBook{chartitle[20];doubleprice;};”,则不正确的语句定义为(structBookb=("C++Programming",27.0))。 179假定有结构定义“structBook{chartitle[20];doubleprice;};”,则正确的语句定义为(structBook*x=calloc(6,sizeof(structBook));)。 180假定要访问一个结构指针变量x中的数据成员a,则表示方法为(x->a)。 181与结构成员访问表达式p->name等价的表达式为((*p).name)。 182在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的(地址)。 183假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为(p->next=f和f=p)。 184假定一个联合类型的定义为“unionD{inta;D*next;};”,则该类型的长度为(4)。 185标准输入设备键盘的文件流标识符是(stdin)。 186表示文件结束符的符号常量为(EOF)。 187在C语言程序中,进行数据的输入和输出操作时,需要包含的系统头文件是(stdio.h)。 188在C语言中,打开一个数据文件的系统函数为(fopen())。 189在C语言中,为只读操作打开一个文本文件的方式为("r")。 190在C语言中,为追加写操作打开一个二进制文件的方式为("ab")。 191在一个文本文件中保存一个实数2.4所占用的字节数为(3)。 192向一个文本文件中写入一个字符串的系统函数为(fputs())。 193若一个文本文件的长度为n-1,当以"a"方式打开时,其写文件指针初始指向的字节位置编号为(n)。 194从一个文本文件中读取一个字符的系统函数为(fgetc())。 195若一个文本文件的长度为n-1,当以"r"方式打开时,其读文件指针初始指向的字节位置编号为(0)。 196从一个二进制文件中读取数据的系统函数为(fread())。 197向一个二进制文件中写入数据的系统函数为fwrite(),它的参数有(4)。 198标准输出设备显示器的文件流标识符是(stdout)。 199表示文件结束符的符号常量EOF的值为(-1)。 200假定一个磁盘数据文件占用n个字节的存储空间,则按字节进行编址的范围是(0˜(n-1))。 201在C语言中,为只写操作打开一个文本文件的方式为("w")。 202在C语言中,文本文件的打开方式共有(6)。 203在C语言中,为读和写操作打开一个二进制文件,若文件不存在则自动建立空文件的打开方式为("wb+")。 204从一个文本文件中读取以换行符结束的一个字符串的系统函数为(fgets())。 205向一个文本文件中写入一个字符的系统函数为(fputc())。 206向一个二进制文件中写入数据的系统函数为(fwrite())。 207从一个二进制文件中读取数据的系统函数为fread(),它的参数有(4个)。 判断题: 1: 在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。 (对) 2在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符(对) 3在C语言程序中,ABC和abc被作为同一标识符使用(错) 4在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用(对) 5在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。 (对) 6在一个函数定义中,函数体的格式是一条复合语句。 对 7一个函数必须返回一个值,不允许定义不返回任何值的函数。 错 8若要在程序文件中使用数学函数,则需要引入的系统头文件为math.h。 对 9若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.h。 对 10在一行中出现多条语句时,注释语句只能为最后一条语句。 对 11在利用printf()函数向屏幕输出数据时,需要在参数表的开始位置使用相应的格式字符串。 对 12在“printf("%d-%d=%d",x,y,x-y);”语句所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 自测