C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题1分,共20分)1、A)。程序的执行是从(一个C A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、 以下不正确的C语言标识符是(D)A、 ABC B、abc C、a_bcD、、 一个C语言程序是由(B)A、 一个主程序和若干子程序组成B、 函数组成C、 若干过程组成D、 若干子程序组成4、 以下能对一维数组a进行初始化的语句是:(C)inta[5]=(0,1,2,3,4,)(5)={}[3]={0,1,2} {5}={10*1}5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为(C)A、 intB、floatC、doubleD、不确定6、C语言中函数返回值的类型是由 (A)、函数定义时指定的类型 B、return语句中的表达式类型C、调用该函数时的实参的数据类型 D、形参的数据类型7、有如下程序,输入数据:12345M678VcR>后(<CR>表示回车),x的值是(B)。#include<>main(){intx;floaty;scanf(=%f,&x,&y);}A、 12345B、 123C、 45D、 3458、 设有以下说明语句:typedefstructstu{inta;floatb;}stutype;则下面叙述中错误的是(D)。A、struct是结构类型的关键字是用户定义的结构类型structstu、、a和b都是结构成员名D、stutype是用户定义的结构体变量名9、若有说明:intn=2,*p=&n,*q=p,则以下非法的赋值语句是:(D)A、p=q B、*p=*q C、n=*q D、p=n10、已知charx[]=hello,y[]={'h','e','a','b','e'};,则关于两个数组长度的正确描述是(B).A、相同 B、x大于yC、x小于y D、以上答案都不对11、下列代码输出的是(C)main(){inta[5]={1,2,3,4,5};int*ptr=(int*)(&a+1);printf(%d,%d,*(a+1),*(ptr-1));}A、2,3B、2,4 C、2,5D、输出错误12、 有以下程序main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf(%d\n,c);}执行后的输出结果是(C)A、1B、2C、3D、413、 有以下程序段#include<>intmain(){intx[]={10,20,30};int*px=x;printf(%d,,++*px);printf(%d,,*px);px=x;printf(%d,,(*px)++);printf(%d,,*px);px=x;printf(%d,,*px++); printf(%d,,*px);px=x;printf(%d,,*++px); printf(%d\n,*px);return0;}程序运行后的输出结果是(A)A、11,11,11,12,12,20,20,20B、20,10,11,10,11,10,11,10C、11,11,11,12,12,13,20,20D、20,10,11,20,11,12,20,2014、如果在C程序中有main(intargc,char*argv[]),那么(D)是指命令行 参数个数。、argvB、argv[] C、argc,argv[]D、argc15、以下关于typedef的叙述不的是(B),、下面程序的运行结果是( C)#include<>main(){intnum=0;while(num<=2){num++;printf(“%d,num);}}A、1B、 12C、 123D、 123417、下面代码能通过编译的是:()Aintmain(){inta[3]={1,2,3};int*b[3]={&a[1],&a[2],&a[3]};int**p=b;0;return}intmain(){inta[3]={1,2,3};int*b[3]={a[1],a[2],a[3]};int**p=b;0;return}intmain(){inta[3]={1,2,3};in
C语言程序设测试二及答案 来自淘豆网www.taodocs.com转载请标明出处.