您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 五邑大学试卷-C语言程序设计-信息学院各专业-B卷1
第1页共7页一、选择题(30%:15小题,每小题2分)1.在一个C程序中()。A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置2.C语言中最基本的数据类型包括()。A)整型、浮点型、逻辑型B)整型、浮点型、字符型C)整型、字符型、逻辑型D)整型、浮点型、逻辑型、字符型3.以下二维数组a的正确说明是()。A)inta[1,1];B)floata(3,4);C)doublea[2][4];D)floata(3)(4);4.设有:inta=2,b=3,c=7,d=8,m=3,n=3;执行(m=ab)&&(n=cd)后的n值为()。A)0B)1C)2D)35.一般情况下,C语言是以()表示运算结果为逻辑真。A)FB)TC)1D)06.设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是()。A)a&&bB)a=bC)a||b+c&&b-cD)!((ab)&&!c‖1)7.若x=4,则x*=x+2的值为()。A)36B)24C)18D)208.int*p1,*p2;以下表达式错误的是()。A)p1+p2B)p1-p2C)p1=p2D)p1==p29.设有如下定义:structsk{inta;floatb;得分第2页共7页}data;int*p;若要使p指向data中的a域,正确的赋值语句是()。A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;10.下面各项中,含有错误的是()。A)chars[10];s=program;B)chars[]={'p','r','o','g','r','a','m','\0'};C)chars[10]=program;D)chars[10]={program};11.while(leap)和下列哪个等价?()A)while(0)B)while(5)C)while(leap==0)D)while(leap!=0)12.有以下程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};printf(%d,t[2][1]);}执行后的输出结果是()。A)6B)5C)3D)213.在嵌套使用if语句时,C语言规定else总是()。A)和之前与其具有相同缩进位置的if配对。B)和之前与其最近的if配对。C)和之前与其最近的且不带else的if配对。D)和之前的第一个if配对。14.设有字符数组str[20],以下哪条输入语句能将键盘输入的字符串送到数组中?()第3页共7页A)scanf(“%c”,str);B)gets(str);C)getchar(str);D)scanf(“%s”,str[0]);15.设指针变量p指向数组a的首地址,则以下哪个选项与其他三个选项不等价?()A)*(p+i)B)*(a+i)C)p+iD)a[i]二、填空题(20%:20空,每空1分)1.C源程序的基本单位是_______。2.根据变量的作用域,C语言的变量分为和。3.在C语言中,将一个变量的地址称为该变量的______;如果有一个变量专门用来存放另一个变量的地址,则称它为。4.简单变量作为函数参数时,其参数传递方式为_______。5.设x,y,z均为int型变量,则描述“x或y中有一个小于z”的表达式是____。6.若函数定义为:intdata(){floatx=9.9;return(x);}则函数返回的值是________。7.设inta[4]={1,3,5,7};则*(a+2)的值为________。8.设y是int型变量,请写出判断y为奇数的关系表达式。9.设有定义:intn,*k=&n;以下语句利用指针变量k读写变量n中的内容,请将语句补充完整。scanf(%d,________);printf(%d\n,______);10.以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。voidexchange(int*x,int*y)得分第4页共7页{intt;t=*y;*y=____;*x=_____;}11.设有定义:inta=3,*p;则能使指针变量p指向变量a的语句是________。12.设i=3,执行表达式“m=++i”后m的值是。13.在C语言中,表达式1/2的值是,表达式1.0/2的值是。14.将一个C源程序变为可执行的目标程序要经过和连接。15.设有字符数组str[20],使用输入语句能将键盘输入的字符串送到数组中。三、阅读程序,写出运行结果。(20%:4小题,每小题5分)1.main(){inti=0,s=0;while(i5){if(i%2==1){i++;continue;}i++;s=s+i;}printf(s=%d,s);}程序运行后输出:。2.main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序运行后,若输入1298,则输出:。得分第5页共7页3.main(){inta[10]={2,4,0,-5,1,6,-8,5,6,5};inti,s=0,count=0;for(i=0;i10;i++)if(a[i]0){s=s+a[i];count++;}printf(s=%d,count=%d,s,count);}程序运行后输出:。4.main(){inta[6]={4,5,8,3,6,1};intj,t;for(j=0;j5;j++)if(a[j]a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(j=0;j6;j++)printf(%d,a[j]);}程序运行后输出:。四、程序填空(根据给出的程序功能说明,补充完整程序中缺少的代码,每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。)(16%:3小题,共8空,每空2分)1.鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。for(x=0;x=30;x++){y=30-x;if(______________)printf(“_______________\n”,x,y):}得分第6页共7页2.数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。main(){inta[10],b[10],i;for(i=0;i10;i++)scanf(“%d”,&a[i]);for(__________;i10;i++)__________________;for(i=1;i10;i++){printf(“%3d”,b[i]);if(___________==0)printf(“\n”);}}3.下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请在下划线处填写适当内容,使程序能正常运行。#includestdio.h#includevoidmain(){chara[]=clanguage,t;inti,j,k;k=strlen(a);for(i=0;i=k-2;i+=2)for(j=i+2;j=k-1;)if(){t=a[i];a[i]=a[j];a[j]=t;}printf(%s,a);printf(\n);}五、程序设计(14%:2小题,每小题7分)1.编写程序,要求从键盘输入一个无符号整数x,并判断是否为素数,如果是打印yes,否则打印no。得分第7页共7页2.编写函数intsum(inta[],intn);该函数返回数组a中a[0]~a[n-1]的和。比如设有数组x[]={1,2,3,4,5,6,7,8,9,10},则函数调用sum(x,10)的结果等于55。intsum(inta[],intn){}
本文标题:五邑大学试卷-C语言程序设计-信息学院各专业-B卷1
链接地址:https://www.777doc.com/doc-4625635 .html