《2022计算机二级考试C语言知识点总结.docx》由会员分享,可在线阅读,更多相关《2022计算机二级考试C语言知识点总结.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022计算机二级考试C语言知识点总结 计算机二级考试C语言学问点总结更多计算机二级考试C语言学问点总结总体上必需清晰的:1)程序结构是三种:依次结构,循环结构(三个循环结构),选择结构(if和switch)2)读程序都要从main()入口,然后从最上面依次往下读(遇到循环做循环,遇到选择做选择)。3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit是位是指为0或者1。byte是指字节,一个字节=八个位.5)肯定要记住二进制如何划成十进制。概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中
2、。2、每个C语言程序中main函数是有且只有一个。3、在函数中不行以再定义函数。4、算法的是肯定要有输出的,他可以没有输入。5、break可用于循环结构和switch语句。6、逗号运算符的级别最低。第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必需为字母或则是下划线。第一个为数字就错了。关键字不行以作为用户标识符号。maindefinescanfprintf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。2)实型数据的合法形式:2.333e-1就是合法的,且数据是2.33310-1。考试口诀:
3、e前e后必有数,e后必为整数。.3)字符数据的合法形式::1是字符占一个字节,1是字符串占两个字节(含有一个结束符号)。0的ASCII数值表示为48,a的ASCII数值是97,A的ASCII数值是65。4)整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。遇到这种状况,不要去管,一样做题。驾驭整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了。5)转义字符的考查:在程序中inta=0x6d,是把一个十六进制的数给变量a留意这里的0x必需存在。在程序中inta=06d,是一个八进制的形式。在转义字符中,x6d才是合法
4、的,0不能写,并且x是小写。141是合法的,0是不能写的。108是非法的,因为不行以出现8。6)算术运算符号的优先级别:同级别的有的是从左到右,有的是从右到左。7)强制类型转换:肯定是(int)a不是int(a),留意类型上肯定有括号的。留意(int)(a+b)和(int)a+b的区分。前是把a+b转型,后是把a转型再加b。8)表达式的考查:是表达式就肯定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不行以赋值。自加、自减表达式:假设a=5,+a(是为6),a+(为5);运行的机理:+a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个+a表达式的
5、数值为6,而a+是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中。进行了+a和a+后在下面的程序中再用到a的话都是变量a中的6了。考试口诀:+在前先加后用,+在后先用后加。逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。9)位运算的考查:会有一到二题考试题目。总的处理方法:几乎全部的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。例1:chara=6,b;b=a%d对应整型;%c对应字符;%f对应单精度等等。宽度的,左对齐等修饰。%ld对应longint;%lf对应double。2)scanf函数
6、的格式考察:留意该函数的其次个部分是&a这样的地址,不是a;Scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据。3)putchar,getchar函数的考查:chara=getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。putchar(y)把字符y输出到屏幕中。4)如何实现两个变量x,y中数值的互换(要求背下来)不行以把x=y,y=x;要用中间变量t=x;x=y;y=t。5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)这个有推广的意义,留意x=(int)x这样是把小数部分去掉。第三章特殊要留意:c语言中是用非0表示逻辑真的,用0表示逻辑
7、假的。1)关系表达式:表达式的数值只能为1(表示为真),或0(表示假)当关系的表达是为真的时候得到1。如98这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为1(表示为真),或0(表示假)a)共有&|!三种逻辑运算符号。b)!&|优先的级别。c)留意短路现象。考试比较喜爱考到。d)要表示x是比0大,比10小的方法。03)if语句else是与最接近的if且没有else的相组合的。4)条件表达式:表达式1?表达式2:表达式3留意是当非0时候是表达式2的数值,当为0是就是表达式2的数值。考试口诀:真前假后。5)switch语句:a)肯定要留意有break和没有break的差别,书上(34页)
8、的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是干脆跳出了swiche语句。b)switch只可以和break一起用,不行以和continue用。第四章1)三种循环结构:a)for();while();do-while()三种。b)for循环当中必需是两个分号,千万不要遗忘。c)写程序的时候肯定要留意,循环肯定要有结束的条件,否则成了死循环。d)do-while()循环的最终一个while();的分号肯定不能够丢。(当心上机改错)2)break和continue的差别记忆方法:break:是打破的意思,(破了整个循环)所以望见break就退出真个一层循
9、环。continue:是接着的意思,(接着循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环起先,然后推断循环条件,进行新一轮的循环。3)嵌套循环就是有循环里面还有循环,这种比较困难,要一层一层一步一步耐性的计算,一般记住两层是处理二维数组的。4)while(c=getchar()!=n)和while(c=getchar()!=n)的差别先看a=3!=2和(a=3)!=2的区分:(!=号的级别高于=号所以第一个先计算3!=2)第一个a的数值是得到的1;其次个a的数值是3。考试留意点:括号在这里的重要性。第五章函数:是具有肯定功能的一个程序块;1)函数的参数,返回数值(示意
10、图):main()inta=5,b=6,c;c=add(a,b);printf(“%d”,c);调用函数a,b是实参整个函数得到一个数值就是Add函数的返回数值。intadd(intx,inty)intz;z=x+y;returnz;被调用函数x,y是形式参数函数返回数值是整型z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。程序是在从上往下依次执行,当遇到了函数add后,把a,b的数值穿给调用函数,程序短暂中断等待返回数值。当得到了返回数值后,再依次的往下执行2)肯定要留意参数之间的传递实参和形参之间传数值,和传地址的差别。(考试的重点)传数值的话,形参的改变不会变更实参
11、的改变。传地址的话,形参的改变就会有可能变更实参的改变。3)函数声明的考查:肯定要有:函数名,函数的返回类型,函数的参数类型。不肯定要有:形参的名称。第六章指针变量的本质是用来放地址,而一般的变量是放数值的。int*p中*p和p的差别:*p可以当做变量来用;*的作用是取后面地址p里面的数值p是当作地址来运用。*p+和(*p)+的之间的差别:改错题目中很重要*p+是地址会改变。(*p)+是数值会要改变。三名主义:(考试的重点)数组名:表示第一个元素的地址。数组名不行以自加,他是地址常量名。(考了许多次)函数名:表示该函数的入口地址。字符串常量名:表示第一个字符的地址。第七章1一维数组的重要概念:
12、对a10这个数组的探讨。1、a表示数组名,是第一个元素的地址,也就是元素a10的地址。2、a是地址常量,所以只要出现a+,或者是a=a+2赋值的都是错误的。3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。对a33的探讨。1、a表示数组名,是第一个元素的地址,也就是元素a10的地址。2、a是地址常量,所以只要出现a+,或者是a=a+2赋值的都是错误的。3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。4、a0、a1、a2也都是地址常量,不行以对它进行赋值操作,同时它们都是列指针,a0+1,a1+1,a2+1都是跳一列。5、留意a和a0、a1、a2是不同的,它们的基类型是不同
13、的。前者是一行元素,后三者是一列元素。二维数组做题目的技巧:假如有a33=1,2,3,4,5,6,7,8,9这样的题目。步骤一:把他们写成:第一列其次列第三列a0123-第一行a1456其次行a2789-第三行步骤二:这样作题目间很简洁:*(a0+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a01元素,所以是1。*(a1+2)我们就知道是其次行的第一个元素往后面跳二列。那么这里就是a12元素,所以是6。肯定记住:只要是二维数组的题目,肯定是写成如上的格式,再去做题目,这样会比较简洁。数组的初始化,一维和二维的,一维可以不写,二维其次个肯定要写inta=1,2合法。inta4=2
14、,3,4合法。但inta4=2,3,4非法。二维数组中的行指针inta12;其中a现在就是一个行指针,a+1跳一行数组元素。搭配(*)p2指针a0,a1现在就是一个列指针。a0+1跳一个数组元素。搭配*p2指针数组运用还有记住脱衣服法则:a2变成*(a+2)a23变成*(a+2)3再可以变成*(*(a+2)+3)这个思想很重要!扩展阅读:计算机二级C语言学问点总结201*年计算机二级考试C语言学问点总结(完全针对考试大纲)总体上必需清晰的:1)程序结构是三种:依次结构,循环结构(三个循环结构),选择结构(if和switch)2)读程序都要从main()入口,然后从最上面依次往下读(遇到循环做循
15、环,遇到选择做选择)。3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit是位是指为0或者1。byte是指字节,一个字节=八个位.5)肯定要记住二进制如何划成十进制。概念常考到的:、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。、每个C语言程序中main函数是有且只有一个。、在函数中不行以再定义函数。、算法的是肯定要有输出的,他可以没有输入。、break可用于循环结构和switch语句。、逗号运算符的级别最低。第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且
16、第一个必需为字母或则是下划线。第一个为数字就错了。关键字不行以作为用户标识符号。maindefinescanfprintf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。2)实型数据的合法形式:2.333e-1就是合法的,且数据是2.33310-1。考试口诀:e前e后必有数,e后必为整数。.3)字符数据的合法形式::1是字符占一个字节,1是字符串占两个字节(含有一个结束符号)。0的ASCII数值表示为48,a的ASCII数值是97,A的ASCII数值是65。4)整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16
17、位编译系统,或者是32位系统。遇到这种状况,不要去管,一样做题。驾驭整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了。5)转义字符的考查:在程序中inta=0x6d,是把一个十六进制的数给变量a留意这里的0x必需存在。在程序中inta=06d,是一个八进制的形式。在转义字符中,x6d才是合法的,0不能写,并且x是小写。141是合法的。108是非法的,因为不行以出现8。转义字符意义ASCII码值(十进制)a响铃(BEL)007b退格(BS)008f换页(FF)012n换行(LF)0r回车(CR)013t水平制表(HT)009v垂直制表(VT)011反斜杠092?问号字符063单
18、引号字符039双引号字符0340空字符(NULL)000ddd随意字符三位八进制xhh随意字符二位十六进制6)算术运算符号的优先级别:同级别的有的是从左到右,有的是从右到左。7)强制类型转换:肯定是(int)a不是int(a),留意类型上肯定有括号的。留意(int)(a+b)和(int)a+b的区分。前是把a+b转型,后是把a转型再加b。8)表达式的考查:是表达式就肯定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不行以赋值。自加、自减表达式:假设a=5,+a(是为6),a+(为5);运行的机理:+a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这
19、个+a表达式的数值为6,而a+是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中。进行了+a和a+后在下面的程序中再用到a的话都是变量a中的6了。考试口诀:+在前先加后用,+在后先用后加。逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。9)位运算的考查:会有一到二题考试题目。总的处理方法:几乎全部的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。例1:chara=6,b;b=a2)scanf函数的格式考察:留意该函数的其次个部分是&a这样的地址,不是a;Scanf(“%d%d%*d%d”,&a,&b
20、,&c);跳过输入的第三个数据。3)putchar,getchar函数的考查:chara=getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。putchar(y)把字符y输出到屏幕中。4)如何实现两个变量x,y中数值的互换(要求背下来)不行以把x=y,y=x;要用中间变量t=x;x=y;y=t。5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)x=(int)(x*1000+0.5)/1000.0这个有推广的意义,留意x=(int)x这样是把小数部分去掉。第三章特殊要留意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。1)关系表达式:表达式的数值只能为1(表示为真)
21、,或0(表示假)当关系的表达是为真的时候得到1。如98这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为1(表示为真),或0(表示假)a)共有&|!三种逻辑运算符号。b)!&|优先的级别。c)留意短路现象。考试比较喜爱考到。d)要表示x是比0大,比10小的方法。0记忆方法:break:是打破的意思,(破了整个循环)所以望见break就退出真个一层循环。continue:是接着的意思,(接着循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环起先,然后推断循环条件,进行新一轮的循环。3)嵌套循环就是有循环里面还有循环,这种比较困难,要一层一层一步一步耐性的计算,一般记
22、住两层是处理二维数组的。4)while(c=getchar())!=n)和while(c=getchar()!=n)的差别先看a=3!=2和(a=3)!=2的区分:(!=号的级别高于=号所以第一个先计算3!=2)第一个a的数值是得到的1;其次个a的数值是3。考试留意点:括号在这里的重要性。第五章函数:是具有肯定功能的一个程序块;1)函数的参数,返回数值(示意图):main()inta=5,b=6,c;c=add(a,b);printf(“%d”,c);调用函数a,b是实参整个函数得到一个数值就是Add函数的返回数值。intadd(intx,inty)intz;z=x+y;returnz;被调用
23、函数x,y是形式参数函数返回数值是整型z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。程序是在从上往下依次执行,当遇到了函数add后,把a,b的数值穿给调用函数,程序短暂中断等待返回数值。当得到了返回数值后,再依次的往下执行2)肯定要留意参数之间的传递实参和形参之间传数值,和传地址的差别。(考试的重点)传数值的话,形参的改变不会变更实参的改变。传地址的话,形参的改变就会有可能变更实参的改变。3)函数声明的考查:肯定要有:函数名,函数的返回类型,函数的参数类型。不肯定要有:形参的名称。第六章指针变量的本质是用来放地址,而一般的变量是放数值的。int*p中*p和p的差别:*p
24、可以当做变量来用;*的作用是取后面地址p里面的数值p是当作地址来运用。*p+和(*p)+的之间的差别:改错题目中很重要*p+是地址会改变。(*p)+是数值会要改变。三名主义:(考试的重点)数组名:表示第一个元素的地址。数组名不行以自加,他是地址常量名。(考了许多次)函数名:表示该函数的入口地址。字符串常量名:表示第一个字符的地址。第七章1一维数组的重要概念:对a10这个数组的探讨。、a表示数组名,是第一个元素的地址,也就是元素a10的地址。、a是地址常量,所以只要出现a+,或者是a=a+2赋值的都是错误的。、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。对a33的探讨。、a表示数组名
25、,是第一个元素的地址,也就是元素a10的地址。、a是地址常量,所以只要出现a+,或者是a=a+2赋值的都是错误的。、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。、a0、a1、a2也都是地址常量,不行以对它进行赋值操作,同时它们都是列指针,a0+1,a1+1,a2+1都是跳一列。、留意a和a0、a1、a2是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。二维数组做题目的技巧:假如有a33=1,2,3,4,5,6,7,8,9这样的题目。步骤一:把他们写成:第一列其次列第三列a0123第一行a1456其次行a2789第三行步骤二:这样作题目间很简洁:*(a0+1)我们就知
26、道是第一行的第一个元素往后面跳一列,那么这里就是a01元素,所以是。*(a1+2)我们就知道是其次行的第一个元素往后面跳二列。那么这里就是a12元素,所以是6。肯定记住:只要是二维数组的题目,肯定是写成如上的格式,再去做题目,这样会比较简洁。数组的初始化,一维和二维的,一维可以不写,二维其次个肯定要写inta=1,2合法。inta4=2,3,4合法。但inta4=2,3,4非法。二维数组中的行指针inta12;其中a现在就是一个行指针,a+1跳一行数组元素。搭配(*)p2指针a0,a1现在就是一个列指针。a0+1跳一个数组元素。搭配*p2指针数组运用还有记住脱衣服法则:a2变成*(a+2)a2
27、3变成*(a+2)3再可以变成*(*(a+2)+3)这个思想很重要!第一章C语言概述一、选择题:1、一个C程序的执行是从(A)。A本程序的main函数起先,到main函数结束B本程序文件的第一个函数起先,到本程序文件的最终一个函数结束C本程序的main函数起先,到本程序文件的最终一个函数结束D本程序文件的第一个函数起先,到本程序main函数结束2、在C语言中,每个语句必需以(D)结束。A.回车符B.冒号C.逗号D.分号3、C语言规定:在一个源程序中,main函数的位置(C)。A.必需在最起先B.必需在系统调用的库函数的后面C.可以随意D.必需在最终4、一个C语言程序是由(B)。A.一个主程序和
28、若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成5、下列说法中错误的是(D)。A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数起先执行6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件C)。二、填空题:1、C语言只有32个关键字和9种限制语句。2、每个源程序有且只有一个main函数,系统总是从该函数起先执行C语言程序。3、C语言程序的注释可以出现在程序中的任何地方,它总是以*符号作为起先标
29、记,以*/符号作为结束标记。4、C语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf完成的。5、系统默认的C语言源程序文件的扩展名是.c,经过编译后生成的目标文件的扩展名是.obj,经过连接后生成的可执行文件的扩展名是.exe。6、C语言的标识符只能由字母、数字和下划线三种字符组成。第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C语言浮点型常量是(C)。A.160.B.0.12C.2e4.2D.0.02、以下选项中,(D)是不正确的C语言字符型常量。A.aB.x41C.101D.a3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。A.
30、原码B.反码C.ASCII码D.BCD码4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。x=(i=4,j=16,k=32)A.4B.16C.32D.525、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算6、若有代数式,则不正确的C语言表达式是(C)。A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*37、表达式!x|a=b等效于(D)。A.!(x|a)=b)B.!(x|y)=bC.!
31、(x|(a=b)D.(!x)|(a=b)8、设整型变量m,n,a,b,c,d均为1,执行(m=ab)&(n=cd)后,m,n的值是(A)。A.0,0B.0,1C.1,0D.1,19、设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)。A.3B.0C.9D.-1210、在以下一组运算符中,优先级最低的运算符是(D)。A.*B.!=C.+D.=11、设整型变量i值为2,表达式(+i)+(+i)+(+i)的结果是(B)。A.6B.12C.15D.表达式出错12、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。A.1B.2C.2.0D.2.5
32、13、sizeof(double)的结果值是(A)。A.8B.4C.2D.出错14、设a=1,b=2,c=3,d=4,则表达式:aA.4B.3C.2D.115、设a为整型变量,不能正确表达数学关系:102.main()charc=A;printf(“%d”,c+32);依次结构答案一、单项选择题AADABCCBBD二、程序改错题1正确的程序为#includestdio.hmain()charc;getchar(c);putchar(007);/*鸣笛*/putchar();2正确的程序为main()inta,b,s,l;scanf(%d,%d,&a,&b);s=a*b;l=2*(a+b);pr
33、intf(l=%d,s=%dn,l,s);三、写出程序运行结果1682.x=4y=11四、编程题1.main()inta,b,c,sum;floatave;scanf(“%d%d%d”,&a,&b,&c);sum=a+b+c;ave=sum/3.0;printf(“sum=%d,ave=%.2fn”,sum,ave);五、选做题1.voidmain()floata,b,temp;printf(inputaandb:);scanf(%d,%d,&a,&b);temp=a;a=b;b=temp;printf(a=%d,b=%dn,a,b);选择结构答案一、单项选择题1.B2.A3.D4.C5.D6
34、.B二、填空题1.5545543342.403.VeryGoodGoodVeryGoodFailPassPass三、阅读程序,写出运行结果1.10,4,3;-1361四、程序设计题1.main()inta,b,x,y;scanf(“%d%d”,&a,&b);x=a*a+b*b;if(x100)y=x/100;printf(“%d”,y);elseprintf(“%d”,a+b);2.if结构7.Cmain()floatt;charc;printf(“inputscore,maxas100:n”);scanf(“%f”,&t);if(t=90)ch=A;elseif(t=80)ch=B;else
35、if(t=70)ch=C;elseif(t=60)ch=D;elsech=E;printf(“Grade=%dn”,ch);switch结构main()floatt;charc;printf(“inputscore,maxas100:n”);scanf(“%f”,&t);switch(t/10)case10:case9:ch=A;break;case8:ch=B;break;case7:ch=C;break;case6:ch=D;break;case5:ch=E;printf(“Grade=%dn”,ch);五、选做题1.main()inta,b,c,t;scanf(“%d%d%d”,&a,&
36、b,&c);if(acase0:x=1;break;break;case0:x=0;break;循环结构答案一、选择题1B2.A3.A4.C5.A6.B7.A8.C9.D10.D二、填空题1.x1x1/2-22.ch=getchar()ch=A&ch五、程序设计题1.main()intx,g,s,b;for(x=100;x第7章数组习题A卷1.单项选择题(1)inta4=5,3,8,9;其中a3的值为()。DA.5B.3C.8D.9(2)以下4个字符串函数中,()所在的头文件与其他3个不同。AA.getsB.strcpyC.strlenD.strcmp(3)以下4个数组定义中,()是错误的。D
37、A.inta7;B.#defineN5longbN;C.charc5;D.intn,dn;(4)对字符数组进行初始化,()形式是错误。BA.charc1=1,2,3;B.charc2=123;C.charc3=1,2,3,0;D.charc4=123;(5)在数组中,数组名表示()。AA.数组第1个元素的首地址B.数组第2个元素的首地址C.数组全部元素的首地址D.数组最终1个元素的首地址(6)若有以下数组说明,则数值最小的和最大的元素下标分别是()。Binta12=1,2,3,4,5,6,7,8,9,10,11,12;A.1,12B.0,11C.1,11D.0,12(7)若有以下说明,则数值为
38、4的表达式是()。Dinta12=1,2,3,4,5,6,7,8,9,10,11,12;charc=a,d,g;A.ag-cB.a4C.ad-cD.ad-c(8)设有定义:chars12=string;则printf(%dn,strlen(s);的输出是()。AA.6B.7C.11D.12(9)设有定义:chars12=string;则printf(%dn,sizeof(s);的输出是()。DA.6B.7C.11D.12(10)合法的数组定义是()。AA.chara=string;B.inta5=0,1,2,3,4,5;C.chara=string;D.chara=0,1,2,3,4,5(11
39、)合法的数组定义是()。DA.inta3=0,1,2,3,4,5;B.inta3=0,1,2,3,4;C.inta23=0,1,2,3,4,5,6;D.inta23=0,1,2,3,4,5,;(12)下列语句中,正确的是()。DA.chara3=abc,1;B.chara3=abc,1;C.chara3=a,1;D.chara3=a,1;(13)下列定义的字符数组中,输出printf(%sn,str2);的输出是()。Cstaticstr320=basic,foxpro,windows;A.basicB.foxproC.windowsD.输出语句出错(14)下列各语句定义了数组,其中哪一个是不
40、正确的()。CA.chara310=China,American,Asia;B.intx22=1,2,3,4;C.floatx2=1,2,4,6,8,10;D.intm3=1,2,3,4,5,6;(15)数组定义为inta32=1,2,3,4,5,6,值为6的数组元素是()。BA.a32B.a21C.a12D.a23(16)下面的程序中哪一行有错误()。D#includemain()floatarray5=0.0;/第A行inti;for(i=0;i(6)依据以下说明,写出正确的说明语句:men是一个有10个整型元素的数组。step是一个有4个实型元素的数组,元素值分别为1.9,-2.33,0
41、,20.6。grid是一个二维数组,共有4行,10列整型元素。intmesh10;floatstep4=1.9,-2.33,0,20.6;intgrid410;(7)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,正确的说明语句为:。该数组下标的取值范围是从_到_(从小到大)。用scanf函数输入数组的其次个元素表示为:。用赋值语句把39存入第一个元素表示为:。把第六个和第四个元素之和存入第一个元素表示为:。intarray10=9,4,7,49,32,-5;09scanf(%d,&array1);array0=39;array0=array5+ar
42、ray3;(8)写出以下初始化数组的长度:intchn3;数组chn的长度为_。floatisa=1.0,2.0,3.0,4.0,5.0;数组isa的长度为_。intdoom8;数组doom的长度为_。floatpci42;数组pci的长度为_。intast33;数组ast的长度为_。intatt34;数组att的长度为_。floatdell3=1,4,7,2,5,3,6,9;数组dell的长度为_。6201*32182436(9)若有以下整型的a数组,数组元素和它们得值如下所示:数组元素:a0a1a2a3a4a5a6a7a8a9元素的值:941282107513请写出对该数组的说明,并赋以上
43、初值。该数组的最小下标值为_,最大下标值为_。写出下面各式的值:aa9的值为_;aa4+a8的值为_。inta10=9,4,12,8,2,10,7,5,1,3;0988(10)字符串abn012/的长度为_。103.推断题()(1)C允许对数组的大小作动态定义,即可用变量定义数组的大小。()(2)字符数组不要求它的最终一个字符为0,甚至可以不包含0。()(3)数组定义inta10;也可以写成inta(10);。()(4)在对全部数组元素赋初值时,可以不指定数组长度。()(5)定义s为56(5行6列)的数组可写成floata5,6;()(6)数组定义inta10;表示数组名为a,此数组有10个元
44、素。()(7)数组定义inta10;表示数组名为a,此数组有10个元素,第10个元素为a10。()(8)staticcharc=“abook”;与staticcharc=“abook”;等价。()(9)staticcharc=a,b,o,o,k,0;与staticcharc=a,b,o,o,k;等价。()(10)设已有说明:staticcharc110,c210;下面程序片段是合法的。c1=“book”;c2=c1;4.程序填空题(1)输入20个数,输出它们的平均值,输出与平均值之差的肯定值为最小的数组元素。请填空。#includevoidmain()floata20,pjz=0,s,t;inti,k;for(i=0;ik=p(4)这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、20个数的和及它们的平均值。请填空。voidmain()chararray;intmax,min,average,sum;inti;for(i=0;i=a&str(2)函数在定义时,省略函数类型说明符,则该函数值的类型为。AA.intB.floatC.longD.double(2)以下函数,真正地没有返回值。BA.inta()inta=2;return(a);B.voidb()printf(c);C.inta()inta=2;ret