2012年9月计算机等级考试二级C语言笔试真题及答案_第1页
2012年9月计算机等级考试二级C语言笔试真题及答案_第2页
2012年9月计算机等级考试二级C语言笔试真题及答案_第3页
2012年9月计算机等级考试二级C语言笔试真题及答案_第4页
2012年9月计算机等级考试二级C语言笔试真题及答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2012年9月计算机等级考试二级C语言笔试真题及答案一、单项选择题(本大题共10小题,每小题2分,共20分。在每小题列出的四个选项中,只有一个是符合题目要求的,请将正确选项的字母填在题后的括号内。)1.以下关于C语言数据类型的叙述中,正确的是()。A.C语言中没有基本数据类型,只有复合数据类型B.C语言中的所有数据类型都必须在程序开始前声明C.C语言中的数据类型不仅包括基本类型,还包括构造类型和指针类型D.C语言中的数据类型只与内存大小有关,与数据表示无关2.若有定义:inta=5,b=6,c=7;,则表达式a>b||c<a的值是()。A.0B.1C.5D.73.以下关于C语言常量的叙述中,正确的是()。A.常量可以是变量名,也可以是常量名B.常量必须在程序运行时才能确定其值C.常量可以是任何类型的数据,包括用户自定义类型D.常量在程序中只能使用一次,不能重复使用4.以下关于C语言变量的叙述中,正确的是()。A.变量名可以包含数字,但不能以数字开头B.变量名可以包含下划线,但不能以下划线开头C.变量名可以包含空格,但不能以空格开头D.变量名可以包含任何字符,只要不与关键字冲突5.若有定义:inta=5,b=6,c=7;,则表达式a+=b+c的值是()。A.11B.12C.13D.146.以下关于C语言运算符的叙述中,正确的是()。A.C语言中的运算符都具有相同的优先级B.C语言中的运算符都具有相同的结合性C.C语言中的运算符的优先级和结合性是固定的D.C语言中的运算符的优先级和结合性是可变的7.若有定义:inta=5,b=6,c=7;,则表达式a>b?b:c的值是()。A.5B.6C.7D.08.以下关于C语言数组的叙述中,正确的是()。A.数组的长度必须在程序编译时确定B.数组的长度可以在程序运行时改变C.数组的元素可以是任何类型的数据,包括用户自定义类型D.数组的元素在内存中可以任意存放,不一定要连续存放9.若有定义:inta[5]={1,2,3,4,5};,则数组a的长度是()。A.1B.2C.3D.510.以下关于C语言函数的叙述中,正确的是()。A.函数必须有返回值,不能返回void类型B.函数可以嵌套定义,即一个函数内部可以定义另一个函数C.函数的参数可以是任何类型的数据,包括用户自定义类型D.函数的返回值类型必须与参数类型一致二、填空题(本大题共10小题,每小题2分,共20分。请将答案填在答题卡相应位置。)1.在C语言中,用于声明变量和函数的关键字是__________。2.在C语言中,用于表示整数常量的格式符是__________。3.在C语言中,用于表示浮点数常量的格式符是__________。4.在C语言中,用于表示字符常量的格式符是__________。5.在C语言中,用于表示字符串常量的格式符是__________。6.在C语言中,用于表示逻辑真值的关键字是__________。7.在C语言中,用于表示逻辑假值的关键字是__________。8.在C语言中,用于表示赋值运算符的关键字是__________。9.在C语言中,用于表示条件运算符的关键字是__________。10.在C语言中,用于表示sizeof运算符的关键字是__________。三、判断题(本大题共10小题,每小题2分,共20分。请将答案填在答题卡相应位置。对的填“√”,错的填“×”。)1.C语言中的所有变量都必须在使用前声明。()2.C语言中的常量可以是任何类型的数据,包括用户自定义类型。()3.C语言中的变量可以在声明时初始化,也可以在使用后初始化。()4.C语言中的运算符都具有相同的优先级和结合性。()5.C语言中的条件运算符是一个三目运算符,其一般形式为:条件?表达式1:表达式2。()6.C语言中的数组可以有多维,但维数不能超过2。()7.C语言中的函数可以嵌套定义,即一个函数内部可以定义另一个函数。()8.C语言中的函数必须有返回值,不能返回void类型。()9.C语言中的宏定义可以嵌套,即一个宏定义内部可以定义另一个宏定义。()10.C语言中的sizeof运算符可以用于计算任何类型的数据的大小,包括用户自定义类型。()四、简答题(本大题共8小题,每小题2分,共16分。请将答案写在答题卡相应位置。)1.简述C语言中变量的作用域和生命周期。2.简述C语言中运算符的优先级和结合性。3.简述C语言中数组的定义和初始化。4.简述C语言中函数的定义和调用。5.简述C语言中指针的概念和作用。6.简述C语言中结构体的概念和作用。7.简述C语言中位运算的概念和作用。8.简述C语言中文件操作的基本流程。五、应用题(本大题共8小题,每小题4分,共24分。请将答案写在答题卡相应位置。)1.编写一个C语言程序,实现以下功能:从键盘输入一个整数,判断该整数是否为偶数,如果是偶数,则输出“该数是偶数”,否则输出“该数是奇数”。2.编写一个C语言程序,实现以下功能:从键盘输入一个字符串,判断该字符串是否为回文,如果是回文,则输出“该字符串是回文”,否则输出“该字符串不是回文”。3.编写一个C语言程序,实现以下功能:从键盘输入一个整数数组,计算该数组的平均值,并输出结果。4.编写一个C语言程序,实现以下功能:从键盘输入一个字符串,将该字符串中的所有小写字母转换为大写字母,并输出结果。5.编写一个C语言程序,实现以下功能:从键盘输入一个整数,判断该整数是否为素数,如果是素数,则输出“该数是素数”,否则输出“该数不是素数”。6.编写一个C语言程序,实现以下功能:从键盘输入一个字符串,将该字符串中的所有空格删除,并输出结果。7.编写一个C语言程序,实现以下功能:从键盘输入一个整数数组,对该数组进行排序,并输出排序后的结果。8.编写一个C语言程序,实现以下功能:从键盘输入一个字符串,将该字符串中的所有数字字符提取出来,并输出结果。【标准答案及解析】一、单项选择题1.C解析:C语言中的数据类型包括基本数据类型、构造数据类型和指针类型。基本数据类型包括整型、浮点型、字符型等;构造数据类型包括数组、结构体等;指针类型是一种特殊的类型,用于存储变量的地址。2.B解析:表达式a>b的结果为0,因为5不大于6;表达式c<a的结果为1,因为7不小于5。逻辑或运算符“||”的优先级低于关系运算符,因此先计算a>b和c<a的结果,然后进行逻辑或运算,最终结果为1。3.D解析:常量是指在程序运行过程中其值不能改变的量。常量可以是整数常量、浮点常量、字符常量、字符串常量等。常量在程序中只能使用一次,不能重复使用。4.A解析:变量名可以包含数字,但不能以数字开头。变量名可以包含下划线,但不能以下划线开头。变量名可以包含空格,但不能以空格开头。变量名可以包含任何字符,只要不与关键字冲突。5.C解析:表达式a+=b+c等价于a=a+b+c,因此a的值变为13。6.C解析:C语言中的运算符的优先级和结合性是固定的。运算符的优先级决定了运算的顺序,而结合性决定了相同优先级的运算符的运算顺序。7.B解析:条件运算符是一个三目运算符,其一般形式为:条件?表达式1:表达式2。如果条件为真,则表达式的结果为表达式1的值;如果条件为假,则表达式的结果为表达式2的值。在这个例子中,a>b为假,因此表达式的结果为c的值,即6。8.D解析:数组的元素在内存中可以任意存放,不一定要连续存放。数组的长度可以在程序编译时确定,也可以在程序运行时改变。数组的元素可以是任何类型的数据,包括用户自定义类型。9.D解析:数组a的长度是5,因为数组a有5个元素,分别是a[0]、a[1]、a[2]、a[3]、a[4]。10.C解析:函数的参数可以是任何类型的数据,包括用户自定义类型。函数可以有返回值,也可以返回void类型。函数可以嵌套定义,即一个函数内部可以定义另一个函数。函数的返回值类型可以与参数类型不一致。二、填空题1.类型声明解析:在C语言中,用于声明变量和函数的关键字是类型声明,例如int、float、char等。2.%d解析:在C语言中,用于表示整数常量的格式符是%d,例如printf("%d",a);3.%f解析:在C语言中,用于表示浮点数常量的格式符是%f,例如printf("%f",b);4.%c解析:在C语言中,用于表示字符常量的格式符是%c,例如printf("%c",c);5."%s"解析:在C语言中,用于表示字符串常量的格式符是"%s",例如printf("%s","Hello");6.true解析:在C语言中,用于表示逻辑真值的关键字是true,例如if(a>b){...}7.false解析:在C语言中,用于表示逻辑假值的关键字是false,例如if(a<b){...}8.=解析:在C语言中,用于表示赋值运算符的关键字是=,例如a=b;9.?:解析:在C语言中,用于表示条件运算符的关键字是?:,例如a>b?a:b;10.sizeof解析:在C语言中,用于表示sizeof运算符的关键字是sizeof,例如sizeof(int);三、判断题1.√解析:在C语言中,所有变量都必须在使用前声明,否则会导致编译错误。2.×解析:在C语言中,常量只能是基本数据类型,不能是用户自定义类型。3.√解析:在C语言中,变量可以在声明时初始化,也可以在使用后初始化,但初始化的值必须在变量的作用域内有效。4.×解析:在C语言中,运算符的优先级和结合性是不同的,例如算术运算符的优先级高于关系运算符,而关系运算符的优先级高于逻辑运算符。5.√解析:在C语言中,条件运算符是一个三目运算符,其一般形式为:条件?表达式1:表达式2。6.×解析:在C语言中,数组可以有多维,维数没有限制,例如二维数组、三维数组等。7.×解析:在C语言中,函数不能嵌套定义,即一个函数内部不能定义另一个函数。8.×解析:在C语言中,函数可以返回void类型,表示不返回任何值。9.×解析:在C语言中,宏定义不能嵌套,即一个宏定义内部不能定义另一个宏定义。10.√解析:在C语言中,sizeof运算符可以用于计算任何类型的数据的大小,包括用户自定义类型。四、简答题1.变量的作用域是指变量在程序中有效的那部分区域,而变量的生命周期是指变量从声明到销毁的整个过程。局部变量在函数内部声明,其作用域仅限于该函数内部,生命周期从声明开始到函数调用结束;全局变量在函数外部声明,其作用域为整个程序,生命周期从声明开始到程序结束。2.运算符的优先级决定了运算的顺序,优先级高的运算符先执行;结合性决定了相同优先级的运算符的运算顺序,左结合性从左到右执行,右结合性从右到左执行。例如,算术运算符的优先级高于关系运算符,而关系运算符的优先级高于逻辑运算符。3.数组的定义是指声明一个数组变量,包括数组类型、数组名和数组长度。数组的初始化是指在声明数组时为其元素赋初值,可以是逐个赋值,也可以是使用初始化列表。例如,inta[5]={1,2,3,4,5};。4.函数的定义是指声明一个函数,包括函数类型、函数名和函数参数。函数的调用是指使用函数名和参数列表调用函数,执行函数体内的代码。例如,intadd(inta,intb){returna+b;}intresult=add(1,2);。5.指针是指存储变量地址的变量,用于间接访问和操作内存。指针的作用包括传递参数、动态内存分配、实现数据结构等。6.结构体是一种用户自定义的数据类型,用于组合不同类型的数据成员。结构体的作用包括封装数据、实现复杂数据结构等。7.位运算是指对二进制数的位进行操作的运算,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)等。位运算的作用包括位操作、数据压缩、加密等。8.文件操作的基本流程包括打开文件、读写文件、关闭文件。打开文件使用fopen函数,读写文件使用fread、fwrite、fscanf、fprintf等函数,关闭文件使用fclose函数。五、应用题1.```c#include<stdio.h>intmain(){intnum;printf("请输入一个整数:");scanf("%d",&num);if(num%2==0){printf("该数是偶数\n");}else{printf("该数是奇数\n");}return0;}```2.```c#include<stdio.h>#include<string.h>intmain(){charstr[100];printf("请输入一个字符串:");scanf("%s",str);intlen=strlen(str);intisPalindrome=1;for(inti=0;i<len/2;i++){if(str[i]!=str[len-i-1]){isPalindrome=0;break;}}if(isPalindrome){printf("该字符串是回文\n");}else{printf("该字符串不是回文\n");}return0;}```3.```c#include<stdio.h>intmain(){intarr[5];intsum=0;printf("请输入5个整数:");for(inti=0;i<5;i++){scanf("%d",&arr[i]);sum+=arr[i];}doubleaverage=(double)sum/5;printf("数组的平均值是:%f\n",average);return0;}```4.```c#include<stdio.h>intmain(){charstr[100];printf("请输入一个字符串:");scanf("%s",str);for(inti=0;str[i]!='\0';i++){if(str[i]>='a'&&str[i]<='z'){str[i]=str[i]-'a'+'A';}}printf("转换后的字符串是:%s\n",str);return0;}```5.```c#include<stdio.h>intisPrime(intnum){if(num<=1){return0;}for(inti=2;ii<=num;i++){if(num%i==0){return0;}}return1;}intmain(){intnum;printf("请输入一个整数:");scanf("%d",&num);if(isPrime(num)){printf("该数是素数\n");}else{printf("该数不是素数\n");}return0;}```6.```c#include<stdio.h>intmain(){charstr[100];printf("请输入一个字符串:");scanf("%s",str);inti=0,j=0;while(str[i]!='\0'){if(str[i]!=''){str[j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论