2011年6月安徽省C语言计算机二级试题及参考答案
- 格式:pdf
- 大小:187.92 KB
- 文档页数:5
2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
安徽c语言二级考试真题及答案一、单项选择题(每题2分,共40分)1. 下列关于C语言中变量的叙述中,正确的是()。
A. 变量名必须以字母开头B. 变量名可以包含空格C. 变量名区分大小写D. 变量名可以以数字开头答案:C2. 在C语言中,用于定义一个整型变量的关键字是()。
A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个是合法的标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B4. C语言中,以下哪个是正确的字符串字面量?()A. "Hello World"B. 'Hello World'C. "Hello World'D. 'Hello World'答案:A5. 下列哪个选项是C语言中的逻辑运算符?()A. &&B. ||C. !D. A、B和C都是答案:D6. 在C语言中,哪个函数用于计算并返回字符串的长度?()A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. C语言中,以下哪个是正确的二维数组声明?()A. int array[3][4];B. int array[][];C. int array[3][];D. int array[4][];答案:A8. 在C语言中,以下哪个是正确的函数声明?()A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A9. 在C语言中,以下哪个是正确的结构体声明?()A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. Student struct {int id;char name[50];};D. struct Student {int id;char name;};答案:A10. 在C语言中,以下哪个是正确的指针声明?()A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A11. 在C语言中,以下哪个是正确的宏定义?()A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14;D. #define PI = 3.14;答案:A12. 在C语言中,以下哪个是正确的枚举类型声明?()A. enum Color {Red, Green, Blue};B. enum Color {Red = 1, Green, Blue};C. enum {Red, Green, Blue};D. All of the above答案:D13. 在C语言中,以下哪个是正确的文件操作函数?()A. fopen()B. fclose()C. fgetc()D. All of the above答案:D14. 在C语言中,以下哪个是正确的条件语句?()A. if (condition) statement;B. if statement;C. if (condition) { statement; }D. All of the above答案:D15. 在C语言中,以下哪个是正确的循环语句?()A. for (initialization; condition; increment) statement;B. while (condition) statement;C. do statement while (condition);D. All of the above答案:D二、程序填空题(每题10分,共20分)1. 请填写以下程序中的空白,使其能够正确计算并输出100以内的奇数之和。
安徽省计算机二级c语言笔试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言可以用于系统软件和应用软件的开发答案:B2. 在C语言中,以下哪个选项是合法的变量名?()A. 2variableB. intC. _variableD. variable-name答案:C3. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <答案:C4. 在C语言中,以下哪个关键字用于定义一个函数?()A. intB. voidC. structD. char答案:B5. 下列关于C语言数组的描述中,正确的是()。
A. 数组的大小在编译时确定B. 数组的大小在运行时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:A6. 在C语言中,以下哪个选项是正确的字符串字面量?()A. "Hello"B. 'Hello'C. "HelloD. 'Hello'答案:A7. 下列关于C语言指针的叙述中,错误的是()。
A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以被赋值为NULL答案:B8. 在C语言中,以下哪个选项是正确的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 下列关于C语言函数的描述中,错误的是()。
A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有参数答案:C10. 在C语言中,以下哪个选项是正确的逻辑运算符?()A. &&B. ||C. ==D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是______。
安徽省计算机二级c语言笔试试题及答案一、选择题1. 下列哪个不是C语言的关键字?A. intB. switchC. mainD. while答案:C2. 下列语句中,不会引发编译错误的是:A. int a = 10;B. int a = 10, b = 20;C. int a, b = 20;D. int a = 10, b;答案:B3. 下列关于数组的说法中,正确的是:A. 数组的大小在编译时确定B. 数组的下标从0开始C. 数组可以存储不同类型的元素D. 数组的长度可以动态改变答案:B4. 下列哪个函数用于输出字符型数据到屏幕上?A. printf()B. scanf()C. gets()D. puts()答案:D5. 在循环语句中,使用continue关键字可以实现什么功能?A. 跳出当前循环B. 跳过当前循环的剩余语句,继续下一次循环C. 结束程序的执行D. 无功能答案:B二、编程题请编写一个程序,实现计算从1加到n的和的功能。
```c#include <stdio.h>int main() {int n, sum = 0;printf("请输入一个正整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1加到%d的和为:%d\n", n, sum);return 0;}```答案解析:以上是一个计算从1加到n的和的简单C语言程序。
首先,通过scanf函数获取用户输入的正整数n。
然后,使用for循环从1开始累加到n,并将结果保存在sum变量中。
最后,使用printf函数输出计算结果。
三、大题请编写一个程序,实现对一个整数数组的升序排序。
```c#include <stdio.h>void bubbleSort(int arr[], int n) { int i, j, temp;for (i = 0; i < n-1; i++) {for (j = 0; j < n-i-1; j++) {if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main() {int arr[] = {9, 5, 2, 7, 1};int n = sizeof(arr) / sizeof(arr[0]); printf("排序前的数组:");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}bubbleSort(arr, n);printf("\n排序后的数组:");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;}```答案解析:以上是一个使用冒泡排序算法对整数数组进行升序排序的C语言程序。
全国高等学校(安徽考区)计算机水平考试试卷(二级C语言程序设计)一、单项选择题(每题1分,共40分)1.下列属于计算机输出设备的是 D .A)鼠标B)扫描仪C)键盘D)打印机2.网上购物属于计算机在 B 领域中的应用。
A)电子政务B)电子商务C)计算机辅助设计D)办公自动化3.微型机中,U盘使用的一般是 D 接口。
A)1394 B)LPT C)COM D)USB4.下列关于存储器读写速度从快到慢的排序中,正确的是 A 。
A)RAM、硬盘、光盘B)RAM、光盘、硬盘C)硬盘、RAM、光盘D)硬盘、光盘、RAM5.“32位微型机中”中的“32"是指 C 。
A)微机主频B)内在容量C)微机字长D)硬盘容量6.在Windows系统中查找文件时,如果输入“*.doc”,则查找的是 A 。
A)文件名为*。
doc的文件B)文件名中有一个*的doc的文件C)所有扩展名为doc的文件D)文件名长度为一个字符的doc的文件7.下列不符合域名命名规则的是 B 。
A)www.163。
com B)www.sina。
C)www。
D)8.下列软件不属于多媒体影音播放工具的是 B 。
A)暴风影音B)Photoshop C)RealPlayer D)Windows Media Player 9.下面关于计算机病毒危害的描述中,错误的是 D 。
A)影响程序的执行B)破坏用户程序和数据C)影响计算机的运行速度D)破坏只读光盘中的信息10.软件开发过程中,程序设计的核心是 A .A)算法与数据结构B)语句格式C)用户数据D)用户文档11.以下叙述不正确的是___D___。
A)一个C源程序可由一个或多个函数组成B)一个C源程序一行内可以写多条语句C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面12.以下正确的C语言标识符是 __C____。
A)%xB)a+bC)a123;D)test!13.以下对'\t’描述正确的是___B___。
2011年计算机等级二级C语言笔试题及答案(1)计算机等级考试网更新:2011-6-19 编辑:风清云淡一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
【4.2】输入年份year和月month,求该月有多少天。
判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。
若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。
【4.3】编写一个简单计算器程序,输入格式为:data1op data2。
其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。
【4.4】输入n值,输出如图所示矩形。
【4.5】输入n值,输出如图所示平行四边形。
【4.6】输入n值,输出如图所示高为n的等腰三角形。
【4.7】输入n值,输出如图所示高为n的等腰三角形。
【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。
【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。
【4.10】输入n值,输出如图所示边长为n的空心正六边型。
【4.11】输入n值,输出如图所示图形。
【4.12】输入n值,输出如图所示图形。
【4.13】输入n值,输出如图所示图形。
【4.14】输入n值,输出如图所示图形。
【4.15】输入n值,输出如图所示图形。
【4.16】输入n值,输出如图所示图形。
(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。
【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。
【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。
若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。
2011安徽省c语言计算机二级试题一、选择题1.计算机最主要的工作特点是________。
A) 程序存储与自动控制B) 高速度和高精度C) 可靠性和可用性D) 具有记忆能力2.下列各种进制的数中,最小的数是______。
A) (75)8 B) (3F)16 C) (62)10 D) ()23.如果你正在使用计算机时突然断电,则_______中的信息全部丢失。
A)ROM 和RAM B)RAM C)ROM D) CMOS4.计算机软件通常包括________。
A)算法及数据结构B)程序和数据结构C)程序、数据及相关文档D)文档及数据5.在windows 中,将当前窗口作为图片复制到剪贴板时,应按________键。
A)Alt+Print Screen B)Ctrl+Ins C)Print Screen D)Alt+Esc6.多媒体计算机(MPC)是指能__________的计算机。
A)接收多种媒体信息B)输出多种媒体信息C)将多补媒休信息融为一体进行处理D)播放CD 音乐7.当用户在浏览网页时,若鼠标指针变成手状,通常表明此处有________。
A)图片B)超级链接C)声音D)E-mail 地址8.目前,________被认为是最有效的信息安全控制方法。
A)设置口令B)设置用户权限C)限制对计算机的物理接触D)数据加密9.下列方式中,________一般不会感染计算机病毒。
A)在网络上下载软件,直接使用B)使用来历不明软盘上的软件,以了解其功能C)在本机的电子邮箱中发现有奇怪的邮件,打开看看究竟D)安装购买的正版软件10.下列选项中,合法的IP 地址是____________。
A)210.45.16 B)210.45.266.68 C)210.45.66.8 C)210,45,203,24311.____是合法的用户自定义标识符。
A)ah-spks B)double C)<ctrl> D)_myapple12.一个C 程序的执行是从____________。
安徽省计算机二级c语言笔试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. <!-- 这是注释 -->D. /*这是注释*/答案:A3. 在C语言中,以下哪个选项不是合法的变量名?A. _myVarB. 123varC. var_nameD. int答案:D4. C语言中,用于定义一个整型数组的语句是?A. int array[10];B. int array[];C. int [10] array;D. int array=10;答案:A5. 下列哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B6. 在C语言中,以下哪个选项表示逻辑“与”运算?A. &&B. ||C. !D. &答案:A7. C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "b"答案:A8. 在C语言中,以下哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C9. C语言中,以下哪个选项用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A10. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\"World"答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字来定义一个宏。
2011安徽省c语言计算机二级试题一、选择题1.计算机最主要的工作特点是________。
A)程序存储与自动控制B)高速度和高精度C)可靠性和可用性D)具有记忆能力2.下列各种进制的数中,最小的数是______。
A)(75)8B)(3F)16C)(62)10D)(111100)23.如果你正在使用计算机时突然断电,则_______中的信息全部丢失。
A)ROM和RAM B)RAM C)ROM D)CMOS4.计算机软件通常包括________。
A)算法及数据结构B)程序和数据结构C)程序、数据及相关文档D)文档及数据5.在windows中,将当前窗口作为图片复制到剪贴板时,应按________键。
A)Alt+Print Screen B)Ctrl+Ins C)Print Screen D)Alt+Esc6.多媒体计算机(MPC)是指能__________的计算机。
A)接收多种媒体信息B)输出多种媒体信息C)将多补媒休信息融为一体进行处理D)播放CD 音乐7.当用户在浏览网页时,若鼠标指针变成手状,通常表明此处有________。
A)图片B)超级链接C)声音D)E-mail地址8.目前,________被认为是最有效的信息安全控制方法。
A)设置口令B)设置用户权限C)限制对计算机的物理接触D)数据加密9.下列方式中,________一般不会感染计算机病毒。
A)在网络上下载软件,直接使用B)使用来历不明软盘上的软件,以了解其功能C)在本机的电子邮箱中发现有奇怪的邮件,打开看看究竟D)安装购买的正版软件10.下列选项中,合法的IP地址是____________。
A)210.45.16B)210.45.266.68C)210.45.66.8C)210,45,203,24311.____是合法的用户自定义标识符。
A)ah-spks B)double C)<ctrl>D)_myapple12.一个C程序的执行是从____________。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束13.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是_________。
A)program.bak和program.obj B)program.obj和program.exe C)program.ext和program.c D) program.bak和program.exe14.执行语句:int a=1,b=0,c;c=a>0||++b;b的值最后为_____。
A)0B)1C)2D)不确定15.在C程序中,用_____表示逻辑值“真”。
A)1B)非0的数C)非1的数D)大于0的数16.若变量已正确定义,语句“if(x>y)z=0;else z=1;”和______等价。
A)z=(x>y)1:0;B)z=x>y;C)z=x<=y;D)x<=y0:1;17.设变量定义为int a,b;,执行下列语句时,输入_____,则a和b的值都是10。
scanf("%d,%d",&a,&b);A)1010B)10,10C)a=10b=10D)a=10,b=1018.下列程序执行后的输出结果是______。
main(){int x='d';printf("%c\n",'A'+(x-'a'+1));} A)G B)H C)E D)J19.设有说明语句:char a='\123';则变量a_____。
A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法20.有如下程序段:int a=3,b=15;float f=7.5;printf("%.1f",(float)a+b/2+(int)f%3);执行该程序段后,运算结果为:A)11.5B)11.0C)11D)12.021.若变量ch为char类型,能正确判断出ch为大写字母的表达式是____。
A)'A'<=ch<='Z'B)(ch>='A')||(ch<='Z')C)('A'<=ch)and('Z'>=ch)D)(ch>='A')&&(ch<='Z') 22.以下程序的输出结果是#include<string.h>#include<stdio.h>main(){charst[20]="2008\0\t\\";printf("%d,%d\n",strlen(st),sizeof(st));}A)7,7B)4,20C)10,20D)20,2023.执行语句:int a;a='1'+1.5;后,正确的叙述是______。
A)a的值是字符'3'B)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符'1'的ASCII值加上1。
24.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是_____。
A)均为2个字节B)0至65535C)-32768至32767D)-256至25525.执行语句:main(){int i=3,j;j=++i+i++;printf("%d\n",j);}A)6B)7C)8D)926.若a为int类型,且其值为5,则执行表达式a+=a-=a*a后,a的值是____。
A)-5B)–40C)–15D)不确定27.不正确的赋值或赋初值的方式是______。
A)char str[]="Hello2006!";B)char str[20];str="Hello2006!";C)char*p="Hello2006!";D)char*p;p="Hello2006!";28.数组定义为int a[10][10];则数组a有______个数组元素。
A)100B)81C)20D)12129.在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
A)int B)double C)void D)char30.整型变量x和y的值相等且为非0值,则下面表达式中结果为零的是_____。
A)x||y B) x|y C)x&y D)x^y31.以下叙述正确的是_____。
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
32.有以下循环:int i;for(i=0;i<10;i++)i++;循环次数为_____。
A)10B)5C)6D)733.语句while(!end);中的条件!end等价于_____。
A)end==0B)end!=1C)end!=0D)~end34.运行程序:#define Tap(X)2*X+1main(){int a=6,k=2,m=1;a+=Tap(k+m);printf("%d\n",a);}则输出结果是A)12B)13C)7D)635.若有如下定义:int a=211,*b=&a;则printf("%d\n",*b);的输出结果为_____。
A)无确定值B)a的地址C)212D)21136.若有定义语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则不是对a数组元素的正确引用是_____。
A)a[p-a]B)*(&a[i])C)*(*(a+i))D)*p37.以下语句运行后结果为______________。
char*st="how are you";printf("%s\n",st+4)A)How are you B)are you C)you D)空串38.以下语句中,指针p的data域正确的引用方式为_____。
struct node{int data;struct node *lchild,*rchild;}Btree;Btree*p;A)p.data B)p->data C)(*p)->data D)p[data]39.函数调用语句fseek(fp,10,1)的含义是_____。
A)将文件指针移到距离文件头10个字节处B)将文件指针移到距离文件尾10个字节处C)将文件指针从当前位置后移10个字节D)将文件指针从当前位置前移10个字节40.以下关于文件的说法错误的是_____。
A)C系统把文件当作一个“流”,按字节进行处理B)文件在读写之前必须打开,读写结束必须关闭C)feof函数可判断文件指针是否处于文件结束位置,如是则返回值为0,否则为1D)文件可按字节,字符串,数据块为单位读写,文件也可按指定的格式进行读写二、填空题1.执行语句:int a=0,b=1;则a++>b++a:b值是_____。
2.程序可以分为三种基本结构,即___________、分支结构、循环结构。
3.条件判断语句包括if语句和________________语句。
4.printf("%5.4f\n",123456.12345);输出为_____________。
5.表达式1<0<2的值是______。
6.int a=-2;printf("%u",a);输出为_________。
7.设有以下定义:typedef struct{char t[10];union{int a,float f}ufo;}String;String s;strcpy(s.t, "12345");则sizeof(s)的值为______。
8.下面的程序输出结果是_______。
#include<stdio.h>int sum(int n){int i,s=0;for(i=1;i<n;i++) if(i%10==9)s=s+i;return s;}main(){printf("%d",sum(69));}9.以下语句执行后输出_______。