省安徽水平考试二级C语言试题及参考答案
- 格式:doc
- 大小:103.00 KB
- 文档页数:10
全国高等学校(安徽考区)2002年1月计算机水平考试试卷单项选择题(每题1分,共10分)C语言部分一、填空1、若a为float型变量,且a=,则表达式(int)(a*100+)/的值为______2、若int x=11,y=10;则表达式x-->y10:11>y++’a’:’z’的值为____3、若所有变量均为int型,则执行下面程序段后x的值为______x=80,a=10,b=16,y=9,z=0;if(a<b) if(b!=15) if(!y) x=81; else if(!z)x=79;4、若i、j为int型,则下面循环体执行的次数为_____i=1;j=0;while(i+j<=10){if(i>j) j=j+2; else i=i+2;}5、若数组a[10]int型,元素及值如下:数组元素:a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]值:9 4 8 3 2 6 7 0 1 5则*(a+a[9])的值为____6、以下函数调用语句中实参个数为_____sub1((x1,x2),(x3,x4,x5),x6)7、若以下函数定义:int (*hs)( ){......} /*函数体*/则函数hs的返回值为______类型8、若int占2个字节,char占1个字节,float占4个字节,则定义如下:struct stu{union {char bj[5];int bh[2];}class;char xm[8];float cj;}xc; 则sizeof(xc)的值为_______9、设有如下宏定义#define a 6#define b a+4执行c=b*10;(c为int型);则c的值为_________10、在c中,文件指针变量的类型只能是_________二、读程序,写程序运行结果1、main(){int i;float j;i=18; j=;printf(“i=%4d,j=%”,i,j);}2、main(){int k=10;char c=’b’;do{switch(c++){case ‘a’:k++;case ‘b’:k--;case ‘c’:k+=3;break;case ‘d’:k=k%4;}while(c!=’c’);printf(“%d\n”,k);}3、main(){char a[]=”computer”;char t;int i,j=0;for(i=0;i<8;i++)for(j=i+1;j<8;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}printf(“%s”,a);}4、main(){char *p,s[]=”abcdefg”;for(p=s;*p!=’\0’;){printf(“%s\n”,p);p++;if(*p!=’\0’)p++;else break;}}5、main(){auto int i;for(i=1;i<3;i++)f(i);}f(int j){static int a=100;auto int k=1;++k;printf(“%d\n”,a+k+j);a+=10;}三、程序填空1、判断一年是否是闰年1)能被4整除但不能被100整除2)能被400整除main(){int year,leap;printf(“input year:”);scanf(“%d”,&year);if(year%400==0) _______;else if((year%4==0)&&(year%100!=0))leap=1;else leap=0;if(leap!=____) printf(“%d is a leap year\n”,year);else printf(“%d is not a leap year\n”,year);}2、求3个变量的最小公倍数max(int x,int y,int z){if(x>y&&x>z) return x;else if(y>=x&&y>z) ___________;else return z;}main(){int x,y,z,s,i=1,j;scanf(“%d%d%d”,&x,&y,&z);s=___________;while(1){j=i*s;if(__________________)break;i++;}printf(“%d\n”,j);}3、判断输入的字符是否中心对称例:xyzzyx或xyzyx就是中心对称main(){char s[100],*p1,*p;int n;gets(s);n=strlen(s);p1=s;p2=_________;while(p1<p2)if(*p1!=*p2) break;else {p1++;__________;}if(p1<p2) printf(“no”);else printf(“Yes\n”);}4、对于结构体数组,求四人中年龄最大的人的姓名及年龄#define NULL 0static struct node{char name[20];int age;}person[]={“Lihong”,18,”zhangfang”,19,”Liqing”,18,”wanglin”,20};main(){ struct node *p,*q;int old=0;q=NULL;p=person;for(;________;p++)if(old<p->age){q=p;__________;}printf(“%s,%d\n”,q->name,q->age);}四、编程题1、36块砖36人搬,男子一人一次搬4块,女子一人一次搬3块,小孩2人一次搬一块,正好一次全搬完,求男子、女子、小孩各多少人2、输入序号n,求费波拉斐数列(第n项)3、用循环将a[3][4]的第一行与第三行对调。
全国高等学校(安徽考区)计算机水平考试试卷(二级C语言程序设计)一、单项选择题(每题1分,共40分)1.下列属于计算机输出设备的是 D 。
A)鼠标B)扫描仪C)键盘D)打印机2.网上购物属于计算机在 B 领域中的应用。
A)电子政务B)电子商务C)计算机辅助设计D)办公自动化3.微型机中,U盘使用的一般是 D 接口。
A)1394 B)LPT C)COMD)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)B)C)D)8.下列软件不属于多媒体影音播放工具的是 B 。
A)暴风影音B)Photoshop C)RealPlayer D)Windows Media Player9.下面关于计算机病毒危害的描述中,错误的是 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)%x B)a+b C)a123;D)test!13.以下对’\t’描述正确的是___B___。
A) ’\t’是两个字符B) ’\t’是一个字符C) ’\t’是一个字符串D)以上都不是14.C语言中的简单数据类型有__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语言程序。
2008年1月安徽省计算机水平考试二级C语言试题一、单项选择题(每题1分,共40分)1. 通常将个人计算机称为 1 。
A) PLC B) LCD C) PC D) CRT2. 下列表示存储器容量的数据中,最大的是 2 。
A) 1GB B) 211MB C) 220KB D) 210B3. 将十进制数41转换为二进制数,下面结果中正确的是 3 。
A) 00101001 B) 00101011 C) 00100011 D) 001001014. 按照计算机应用领域分类,学校使用的成绩管理系统属于 4 。
A) 实时控制B) 科学计算C) 数据处理D) 计算机辅助设计5. 删除Windows桌面上应用程序的快捷图标,意味着 5 。
A) 该程序连同其图标一起被删除B) 只删除了该程序,对应的图标被隐藏C) 该程序连同其图标一起被隐藏D)只删除了图标,对应的程序仍然存在6. 以下关于多媒体技术的叙述中,错误的是6。
A) 多媒体技术将各种媒体以数字化的方式集成在一起B) 多媒体技术就是能用来观看DVD电影的技术C) 多媒体技术已经成为声、文、图等媒体信息在计算机系统中综合应用的代名词D)多媒体技术和计算机技术的融合开辟出一个多学科交叉、跨行业的崭新领域7. 下列的网络IP地址中,正确的是7。
A) 249.220.258.202 B) 204.250.9 C) 202.155.98.C D) 202.245..101.2018. “熊猫烧香”是一种8。
A) 办公软件B) 杀毒软件C) 计算机病毒D)下载工具9. 下列有关计算机病毒和黑客的说法中,不正确的是9。
A) 所有计算机病毒都可以通过杀毒软件彻底清除B) 计算机黑客是指利用网络入侵别人计算机的人C) 防范计算机病毒的一种常用办法是在计算机上安装正版的反病毒软件D)防范计算机黑客的一种常用办法是在计算机上安装网络防火墙10. 10 是程序、数据以及相关文档的集合A) 软件B) 程序C) 指令D)算法11. 下列关于C语言程序说法正确的是11 。
安徽省计算机二级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语言中,使用________关键字来定义一个宏。
2015年下半年安徽省计算机水平考试(二级 C 语言)一.程序填空题1.一下程序计算并输出1~100之间所有是 3 或7 的倍数之和,请填空#include<stdio.h>void main(){int i,s;_______=0;for(i=1;i<=100;i++)if(_________)/*判断是否是 3 或 7的倍数 */s=s+i;printf(“ s=%d\n ” ,______);}2.以下程序输出图形:123452345345455请填空:#include<stdio.h>void main(){int i,j;for(i=1;_____;i++){for(j=i;j<=5;j++)printf(“ %d” ,____);printf(“ ___ ” );}}3.以下程序利用指针输出一个字符串中所有的数字字符,请填空。
#include<stdio.h>void main(){char s[]=” A1B2C3D4E5F6G7H8I9”;char *p;for(p=s;_____!=’ \0’ ;p++)if(________)/*判断是否是数字字符*/printf(“ %c” ,_____);}二.阅读理解题1.以下程序运行后输入2,程序的输出结果是。
#include<stdio.h>void main(){int color;printf(“ Pleaseintput color:” );scanf( “ %d” ,&color);switch(color){case 0:printf(“ black” );case 1:printf(“ blue” );case 2:printf(“ green” );case3:printf(“ red ” );break;default:printf(“ othercolor” );}}2.以下程序运行的结果是_______ 。
安徽省c语言二级考试选择题答案1. 以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-nameD. variable name答案:B2. C语言中,char类型变量占用的存储空间大小是多少?A. 1个字节B. 2个字节C. 4个字节D. 8个字节答案:A3. 若有定义:int a=5, b=2; 则执行以下语句后的输出结果为?```cprintf("%d", a/b);```A. 2B. 3C. 2.5D. 5答案:A4. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C5. 下面哪个选项是C语言中正确的函数声明?A. int function();B. void function;C. int function int a;D. int function(int a);答案:D6. 在C语言中,以下哪个选项表示逻辑与操作?A. &&B. ||C. !D. |答案:A7. 若有定义:int a=10, b=20; 则执行以下语句后的输出结果为?```cprintf("%d", a%b);```A. 10B. 20C. 0D. 随机值答案:C8. 在C语言中,以下哪个选项表示逻辑或操作?A. &&B. ||C. !D. |答案:B9. 若有定义:int a=5, b=10; 则执行以下语句后的输出结果为?```cif(a < b) printf("%d", a);else printf("%d", b);```A. 5B. 10C. 15D. 无输出答案:A10. 在C语言中,以下哪个选项表示逻辑非操作?A. &&B. ||C. !D. |答案:C结束语:以上是安徽省C语言二级考试选择题的答案,希望对各位考生有所帮助。
安徽省c语言二级考试笔试试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. mainD. include答案:A2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 如果一个变量被声明为float类型,那么它的值可以是?A. 整数B. 小数C. 字符串D. 以上都可以5. 下列哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A6. C语言中,用于定义一个字符型变量的关键字是?A. intB. charC. floatD. double答案:B7. 在C语言中,哪个运算符用于计算两个数的差?A. +B. -C. *D. /答案:B8. 如果一个变量被声明为double类型,那么它的值可以是?A. 整数B. 小数C. 字符串D. 以上都可以答案:D9. 下列哪个函数用于计算一个数的平方根?B. min()C. pow()D. sqrt()答案:D10. C语言中,用于定义一个双精度浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:int array_name[ ] = {value1, value2, ...};答案:array_name2. C语言中的字符串是以什么字符结尾的?答案:'\0'3. 在C语言中,用于输入一个字符的函数是:答案:scanf()4. C语言中,用于输出一个整数的函数是:答案:printf()5. 在C语言中,用于计算两个数的乘积的运算符是:答案:*6. 在C语言中,用于计算两个数的除法的运算符是:答案:/7. C语言中,用于定义一个字符型数组的语法是:char array_name[ ] = {char1, char2, ...};答案:array_name8. 在C语言中,用于输入一个字符串的函数是:答案:gets()9. C语言中,用于输出一个浮点数的函数是:答案:printf()10. 在C语言中,用于计算两个数的模运算的运算符是:答案:%三、编程题(每题20分,共40分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
安徽省08年6月二级C语言程序设计试题一、单项选择题(每题1分,共40分)1. 计算机能够自动工作,主要是因为采用了。
A) 二进制数制B) 大规模集成电路C) 程序设计语言D) 存储程序控制原理2. 下列数值中最大的是。
A) (10110)2B) (120)8C) (70)10D) (3A)163. 在计算机指令系统中,一条指令通常由组成。
A) 数据和字符B)操作码和操作数C) 运算符和数据D) 被运算数和结果4. 运算器主要由组成。
A) 算术逻辑单元B)处理器C) 控制器D) 存储器5.下列关于Windows“回收站”的叙述中,不正确的是。
A)“回收站”中的信息可以清除B) “回收站”中的信息可以还原C) “回收站”的大小可以设置D) “回收站”不占用硬盘空间6. 多媒体信息不包括。
A) 文字、图形B) 音频、视频C) 光驱、声卡D) 影像、动画7. 学校机房的若干台计算机连接而成的网络通常属于。
A) WAN B) LAN C) MAN D) GPS8. FTP是。
A) 发送电子邮件的软件B) 浏览网页的工具C) 文件传输协议D) 聊天工具9. 下列关于计算机病毒的叙述中,不正确的是。
A) 计算机病毒只破坏硬件,不破坏软件B) 计算机病毒是人为编写的一种程序C) 计算机病毒能通过磁盘、网络等媒介传播、扩散D) 计算机病毒具有潜伏性、传染性和破坏性10. 下列关于算法的叙述中,正确的是。
A) 算法就是对特定问题求解步骤的描述B) 算法就是程序C) 算法就是软件D) 算法没有优劣之分11.一个可编译运行C语言源程序中,______。
A)主函数有且仅有一个B)可以有多个主函数C)必须有除主函数以外的其他函数D) 可以没有主函数12.结构化程序设计所规定的三种基本控制结构是 ______。
A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数13.以下选项中合法的用户标识符是______。
A)long B)_2test C)3Dmax D)for 14.设有:char a='\101';,则变量a______。
A)包含1个字符B) 包含3个字符C) 包含4个字符D)定义不合法15.以下选项中运算对象不能实实型的运算符是______。
A)% B)/ C)= D)*16.已知int i,a;,执行语句i=(a=2*4,a+5),a+6;后,变量i的值为______。
A)8 B)14 C)40 D)46 17.设有以下变量定义,并已赋确定的值:long w; int x; double y; 则表达式w+x+1/y值的数据类型为______。
A)int B)long C)float D)double 18.以下选项中,与k=++n完全等价的表达式是______。
A)k=n,n=n+1 B) n =n+1, k=nC) k=n+1 D) k+=n+119.设x,y,t均为int型变量,则执行语句:x=y=0;t=++x || ++y;后,y的值为______。
A)0 B)1 C)2 D) 不确定20.若整形变量a,b,t已正确定义,现要将a和b中的数据进行交换,下面不正确的是______。
A)t=a; a=b; b=t; B) t=a, a=b, b=t;C) a=t; t=b; b=a; D) t=b; b=a; a=t; 21.设有float a=2,b=4,h=3;,以下C语言表达式中与代数式hba)(21计算结果不相符的是______。
A)(a+b)*h/2 B) 1/2*(a+b)*hC) (a+b)*h*1/2 D) h/2*(a+b)22.已知a,b,c为int类型,执行语句scanf("a=%d,b+%d,c+%d",&a,&b,&c); ,若要使得a 为1,b为2,c为3,则以下选项中正确的输入形式是______。
A)a=1 B)1,2,3C)a=1,b=2,c=3 D)1 2 3b=2c=323.对于以下形式:if (表达式) 语句;,其中的表达式______。
A)只能是关系表达式B)只能是关系表达式或逻辑表达式C)只能是逻辑表达式D)可以是任何表达式24.若变量c为char类型,以下选项中能正确判断出c为数字字符的表达式是______。
A) '0'<=c<='9' B) (c>='0') && (c<='9') C) ('0'<= c) & ('9'>=c) D) (c>=0) && (c<=9) 25.下面有关for 语句的正确描述是______。
A) for语句只能用于循环次数已经确定的情况B) for语句是先执行循环体语句,后判断作为循环条件的表达式C)在for语句,不能用break 语句跳出循环体D) for语句的循环体中,可以包含多条语句,但必须用花括号括起来26.能将两个变量x,y中值较小的一个赋给变量z 的语句是______。
A)if (x<y) z=x; B) if (x>y) z=y;C)z=x<y?x:y; D) z=x>y?x:y;27.若有:char st1[ ]="123456"; char st2[ ]={'1','2', '3','4', '5','6'};则下面叙述正确的是______。
A)数组str1和str2完全相同B) str1和str2数组长度相同C)数组str1和str2不相同,str1是指针数组D) str1和str2数组长度不相同28.以下不能正确初始化二维数组的选项是______。
A)int a[2][2]={{1},{2}}; B)int a[ ][2]={ 1,2,3,4}; C)int a[2][2]={ 1,2,3 } D)int a[2][]={{1,2},{3,4}}; 29.执行下面程序:#include <stdio.h>#include <string.h>main(){ char a[21]="ABC";strcat(s,"6789");printf("%s\n",s);}则输出结果是______。
A)ABC6789 B) ABC C) 6789 D) 6789ABC 30.在C语言程序中,关于函数说法正确的是______。
A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套31.C语言程序中,调用函数时若实参是普通变量,则下面说法正确的是______。
A)实参和形参各占独立的存储单元B)实参和形参可以共用存储单元C)可以由用户指定实参和形参是否共用存储单元D)由计算机系统根据不同的函数数自动确定实参和形参是否共用存储单元32.设程序中定义了以下函double myadd(double a, double b){ return (a+b); }如果在程序中需要对该函数进行声明,以下选项中错误的是______。
A) double myadd(double a, b);B) double myadd(double, double);C) double myadd(double b, double a);D) double myadd(double a, double b);33.C语言中,若某变量在定义它的函数被调用时才被分配存储单元,则该变量的存储类别为______。
A)static B) externC)auto或registe D)extern 或static34.以下能使指针变量p指向a的正确选项是______。
A) int a,*p=a; B) int a,p=a;C) int a,*p=*a; D) int a,*p=&a;35.设有char str[ ]="Olympic";则表达式*(str+4)的值是______。
A)'m' B) 'p' C) 'i' D)不确定的值36.已知union{ int i;char c;float p;}ex;则sizeof(ex)的值是______。
A) 1 B) 2 C)4 D)7 37.设有:struct student{ char name[10];int age;char sex;}std={"Li Ming",19,'M'},*p;p=&std;则下面各输出语句中错误的是______。
A)printf("%d",(*p).age); B) printf("%d",p->age);C)printf("%d", p.age); D) printf("%d", std.age) 38.以下关于typedef的叙述不正确的是______。
A)typedef不能用来定义变量B)用typedef可以增加新类型C)用typedef只是将已存在的类型用一个新的名称来代表D)使用typedef便于程序的通用和移植39.已知int x=16;,表达式x>>2的值是______。
A)64 B)32 C)8 D)440.下列关于文件操作描述正确的是______。
A)对文件操作必须先打开文件B)对文件操作必须先关闭文件C)对文件操作打开和关闭的顺序无关紧要D)对文件操作打开和关闭的顺序取决于是读还是写操作二、填空题(每空2分,共20分)1.设有int x; float y=5.5;,则执行语句x=y*3+(int)y%4;后,x的值是______。
2.已知int x=5,y=3,z=1;,则执行语句x%=y+z;后,x的值是______。
3.已知float f=123.467;,则执行语句printf("%.2f\n",f);后,输出结果是______。
4.已知字符'A'的ASCII值为十进制65,变量c为字符型,则执行语句c='A'+'6'-'3'; printf("%c\n",c);后,输出结果是______。