2022年大学C语言期末考试试题及答案 .pdf
大学 C 语言期末考试试题一 选择题( 7 分,每小题0.5 分)1.C 语言源程序的基本单位是() 。A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是() 。main( ) int a=7,b=5; printf(%dn,b=b/a); A 5 B 1 C 0 D 不确定值3.假设变量a,b 均为整型,表达式(a=5,b=2,ab?a+:b+,a+b) 的值是() 。A 7 B 8 C 9 D 2 4.设 a为 int 型变量,执行下列赋值语句后,a 的取值分别是() 。a=125.534; a=(int)125.521%4; a=52; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是() 。int k=10; while(k=0) k=k-1; A 循环执行一次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次6.以下程序的输出结果为() 。int i; void prt( ) for(i=5;i8;i+) printf(%c,*); printf(t); main( ) for(i=5;in B +p-n C p-n+ D (*p).n+ 14.C 语言中的文件类型只有() 。A 索引文件和文本文件两种B 文本文件一种C 二进制文件一种D ASCII 码文件和二进制文件两种二 判断对错,对的划“”,错的划 “”(5 分,每小题0.5 分)1在 Turbo C 中,整型数据在内存中占2 个字节。()2int i=20;switch(i/10)case 2:printf(A);case 1:printf(B);的输出结果为A。 ()3break 语句用在循环体中,可结束本层循环,continue 语句用在循环体中,可结束本次循环。 ()4函数的递归调用不过是一个函数直接或间接地调用它自身。()5函数 strlen(ASDFGn) 的值是 7。 ()6通过 return 语句,函数可以带回一个或一个以上的返回值。()7结构体类型只有一种。()8char *p=girl ;的含义是定义字符型指针变量p,p 的值是字符串 girl 。 ()9若有定义:char *p(char a10); 则 p 是函数名。()10用 fopen(file,r+);打开的文件 file 可以进行修改。()大学 C 语言期末考试试题1已知函数fread 的调用形式为fread(buffer,size,count,fp) ,其中 buffer 代表的是 () 。A 存放读入数据项的存储区B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量 ,代表要读入的数据项总数2以下程序的输出结果为() 。main( ) int i=010,j=10; printf(%d,%dn,i+,j-); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - A 11,9 B 9,10 C 8,10 D 9,9 3 设a 为int型 变 量 , 执 行 下 列 赋 值 语 句 后 , a的 取 值 分 别 是 ()。a=125.534;a=20.0/3;a=(int)125.521%4;a=52; A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,20 4设 i 和 k 都是 int 类型,则 for 循环语句() 。for(i=0,k=-1;k=1;i+,k+) printf(*n); A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5以下程序的输出结果为() 。main( ) char c; int i; for(i=65;i68;i+) c=i+32; switch(c) case a:case b:case c:printf(%c,c);break; default:printf(end); A a,b,c,end B a,a,a,end C a,a,a, D a,b,c, 6函数调用语句:fseek(fp,-10L,2) ;的含义是() 。A 将文件位置指针从文件末尾处向文件头的方向移动10 个字节B 将文件位置指针从当前位置向文件头的方向移动10 个字节C 将文件位置指针从当前位置向文件末尾方向移动10 个字节D 将文件位置指针移到距离文件头10 个字节处7以下程序的输出结果为() 。main( ) char s140=country,s220=side; int i=0,j=0; while(s1i!=0) i+; while(s2j!=0) s1i+=s2j+; s1i=0; printf(%sn,s1); A side B country C sidetry D countryside 8下列说法不正确的是() 。A 主函数 main 中定义的变量在整个文件或程序中有效B 不同函数中 ,可以使用相同名字的变量C 形式参数是局部变量D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效9在下列程序段中,枚举变量c1 的值是() 。enum color red,yellow,blue=4,green,whitec1; c1=yellow; c1=white; A 1 B 3 C 5 D 6 10设有说明int (*ptr)(); 其中标识符ptr 是() 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - A 是一个指向整形变量的指针B 是一个指针 ,它指向一个函数值是int 的函数C 是一个函数名D 定义不合法11定义由n 个指向整形数据的指针组成的数组p,其正确的方式为() 。A int p; B int (*p)n; C int *pn; D int (*p)( ); 12具有相同类型的指针类型变量p 与数组 a,不能进行的操作是() 。A p=a; B *p=a0; C p=&a0; D p=&a; 二 判断对错,对的划“”,错的划 “”(20 分,每小题2 分)1参加位运算的数据可以是任何类型的数据。( ) 2若有定义和语句:int a;char c;float f;scanf(%d,%c,%f,&a,&c,&f);若通过键盘输入:10,A,12.5,则 a=10,c= A,f=12.5。( ) 3C 语言把文件看作是一个字符(字节)的序列。( ) 4若有宏定义:#define S(a,b) t=a;a=b;b=t 由于变量 t 没定义,所以此宏定义是错误的。( ) 5在 Turbo C 中,下面的定义和语句是合法的:file *fp;fp=fopen(a.txt,r);( ) 6若有定义:char s china ;则 Turbo C 系统为数组s 开辟 6 个字节的内存单元。( ) 7 若有定义和语句: int a33 3,5,8,9,12,35,i,sum=0; for(i=0;i3;i+) sum+=ai2-i;则 sum=21。 ( ) 8若有定义和语句:struct student int num; char name10; float score; s5=1,lili,98.5,9,xiaohua,66,*p=s;printf(%d,*p+);输出结果是1。( ) 9在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。( ) 10在 Turbo C 中,此定义和语句是合法的:enum aa a5,b,cbb;bb=(enum aa)5;( ) 答案一 选择题( 24 分,每小题2 分)1.( B ) 2.( C ) 3.( B ) 4.( D ) 5.( D ) 6.( A ) 7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D ) 二 判断对错,对的划“”,错的划 “”(20 分,每小题2 分)1.( )2.( )3.( )4.( )5.( )6.( )7.( )8.()9.( )10.( )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -