当前位置:文档之家› C语言基础知识_测试题

C语言基础知识_测试题

C语言程序设计基础测试题一、单选[1] 下面叙述中错误的是____。

A. 复合语句中定义的函数只在该复合语句中有效B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式C. 形式参数也是局部变量D. 主函数中定义的变量在整个程序中都是有效的[2]下列说法中正确的是____。

A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[3.] 若函数的形参为一维数组,则下列说法中正确的是____。

A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[4]. 系统的标准输出设备是____。

A.键盘B.硬盘C.内存D.显示器[5] 下面叙述中正确的是____。

A.全局变量在定义它的文件中的任何地方都是有效的B.全局变量在程序的全部执行过程中一直占用内存单元C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式D. 说明函数时必须明确其参数类型和返回类型[6]. C程序的基本结构单位是____。

A.文件B.语句C.函数D.表达式[7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。

A.aa数组元素的值分别是"abcd"和"ABCD"B.aa是指针变量,它指向含有两个数组元素的字符型一维数组C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D.aa数组的两个元素中各自存放了字符'a'和'A'的地址[8]. 任何一个C语言的可执行程序都是从____开始执行的。

A.程序中的第一个函数B.main( )函数的入口处C.程序中的第一条语句[9].操作系统的作用是()。

A.把源程序翻译成目标程序B.进行数据处理C.控制和管理系统资源的使用D.实现软硬件的转换[10].下面几种说法中哪个是正确的?_____________A. else语句需与它前面的if语句配对使用;B. else语句需与前面最接近它的if语句配对使用;C. else语句需与前面最接近它的,且没有和其它else语句配对的if语句配对;D. 以上都正确。

[11].设整型变量a为5,使b不为2的表达式是___________A. b=a/2B. b=6-(--a)C. b=a%2D.b=a>3?2:1[12].下列对数组操作不正确的语句是________A. int a[5];B.char b[ ]={‘h’,’e’,’l’,’l’,’o’};C. int a[ ]={2,3,4,5};D. char b[3 ][ ]={1,2,3,4,5,6};[13].设A为存放短整型的一维数组,如果A的首地址为P,那么A 中第I个元素的地址为_______________A. P+I*2B. P+(I-1)*2C. P+(I-1)D. P+I[14]. 十进制数100转换成二进制数是A) 01100100 B) 01100101 C) 01100110 D) 01101000[15].Windows中,对文件和文件夹的管理是通过来实现的。

[A] 对话框[B]剪贴板[C] 资源管理器或我的电脑[D]控制面板二、判断1. 微型计算机的核心部件是微处理器。

( )2. 在微机性能指标中,CPU的主频越高,其运算速度越快。

( )3. 组成微机系统总线的是译码、计数和控制总线。

( )4. 以二进制形式输出文件,则文件的内容与内存中完全一致( )5. 定义:int a=123;若以ASCII文件的形式存放,则a将在磁盘上占三个字节( )6. C语言中,switch后的括号内表达式的值可以是整型,字符型,枚举型( )7. 函数的形式参数,在函数未被调用时就不被分配存储空间( )8. 若函数的定义出现在主调函数之前,则可以不必再加说明( )9. 若一个函数没有return语句,则什么值也不会返回( )10. 一般来说,函数的形参和实参的类型应该一致( )三、填空1. 1.为解决某一特定问题而设计的指令序列称为2. 2.处于执行状态的进程,因时间片用完就转换为。

3. 3.计算机硬件的五大基本构包括:、、、和4. 4.计算机所能辨认的最小信息单位是5. 5.计算机能直接识别和执行的语言是6. 6. 程序是将计算机高级语言源程序翻译成目标程序的系统软件7.7.每条指令都必须具有的、能与其他指令相区别的、规定该指令执行功能的部分称为8.8.目前Windows系统是操作系统。

9.9.操作系统的主要作用是管理系统资源,这些资源包括和10.10.计算机可以处理信息有、、、等11.11.C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。

12.12.C语言的表达式与语句的区别在于___________________________________。

13.13.C语句_____________ (有、没有)输入、输出语句。

14.14.结构化程序的编写有_______________________________三种程序结构。

15.15.C语言中,变量的存储类别共有四种,即时___________________和寄存器型。

表达式10/3*9%10/2的值是___________________。

16.16.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是_________________。

17.17.设有“int x=1”,则“x>0?2*x+1:0”表达式的值是______________________。

18.18.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。

请用逻辑表达式表示所给条件。

_________________________________________________________________19.19.逻辑运算符“&&、||、!”中是短路运算符号是____________________四、读程序1.阅读函数,根据函数完成的主要功能,补充、完善主函数。

float av(float a[],int n){int i;float s;for (i=0,s=0;i<n;i++) s=s+a[i];return (s/n); }main(){float a[10];_______________for (i=0;_________)scanf("%f"______);printf("%f",av(a,10)); }2.写出下列程序的输出结果:main(){int x,y,z;x=y=z=-1;printf("x=%d\ty=%d\tz=%d\n",x,y,z);++y&&++x||++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);x=y=z=-1;++x||y++&&z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);}3.下面程序的输出结果是什么?#include "stdio.h"main(){ int x=3;switch(x){ case 1:case 2:printf("x<3\n");case 3:printf("x=3\n");case 4:case 5:printf("x>3\n");default:printf("x unknow\n"); } }4.根据源程序,写出相应的数学表达式#include “stdio.h”main(){int x,y;scanf(“%d”,&x);if (x<0) y= -1;else if (x= = 0)y=0;else y=1;printf(“x=%d,y=%d\n”,x,y); }5.分析下列程序所完成的功能。

main(){int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p;scanf("%d,%d,%d",pa,pb,pc);if (*pa>*pb)p=pa,pa=pb,pb=p;if (*pa>*pc)p=pa,pa=pc,pc=p;if (*pb>*pc)p=pb,pb=pc,pc=p;printf("%d<=%d<=%d",*pa,*pb,*pc); }五、编程:1.输入一单精度二维数组a[4][3],计算该二维数组中的最大元素的值及其所在位置(行、列),并输出计算结果。

2.个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

相关主题