您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 2017广技师专插本C语言程序设计专业课真题
广东技术师范学院2017年专插本C语言程序设计注意:请将答案写在答题纸上,否则无效!!!一、判断题:(12分每题2分)1、C语言规定:在一个源程序中,main函数的位置必须在最开始。2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。3、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为静态存储。4、C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。5、在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。6、C语言程序的基本单位是语句。二、选择题:(20分每题2分)1、假设已定义chara[10]和char*p=a,下面的赋值语句中,正确的是:A)a[10]=”TurboC”;B)a=”TurboC”;C)*p=”TurboC”;D)p=”TurboC”;2、下面关于运算符优先顺序的描述中正确的是:A)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符3、以下正确的描述是。A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句4、用8位无符号二进制数能表示的最大十进制数为A)127B)128C)255D)2565、下列叙述中正确的是:A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型6、以下对C语言函数的有关描述中,正确的是:A)调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B)函数既可以嵌套定义又可以递归调用C)函数必须有返回值,否则不能使用函数D)程序中有调用关系的所有函数必须放在同一个源程序文件中7、在C语言中,不正确的int类型的常数是:A)32768B)0C)037D)0xaf8、以下叙述中不正确的是:A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效9、以下说法中正确的是:A)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句10、若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下正确的叙述是:A)以下两处的*p含义相同,都说明给指针变量p赋值B)在“doubler=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元C)语句“*p=r;”把变量r的地址值赋给指针变量pD)语句“*p=r;”取变量r的值放回r中三、填空题:(24分每空2分)1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间用空格分开。请填空完成。#includestdio.hmain(){charstr[81];inti,(【1】);charc;gats(str);for(i=0;(【2】)!=’\0’;i++)if(c==’’)word=0;elseif(【3】){word=1;(【4】)}printf(“Thereare%dwordinline.\n”,num);}2、下面程序的功能是:用选择排序法对数组中10个数据按由小到大排序。请填空完成。voidsort(inta[],intn){(【5】)for(I=0;In-1;I++){(【6】)for(j=I+1;jn;j++)if(a[j]a[k])k=j;if((【7】)){t=a[k];a[k]=a[I];a[I]=t;}}}main(){intb[10],I;printf(“enterthearray\n”);for(I=0;I10;I++)scanf(“%d”.&b[I]);(【8】)printf(“thesortedarray:\n”);for(I=0;I10;I++)printf(“%d“,b[I]);printf(“\n”);}3、判断m是否是素数#includemath.hmain(){intm,i,k;scanf(“%d”,&m);(【9】)for(i=2;i=k;i++)if(m%i==0)(【10】);if(i=k+1)printf(“%disaprimenumber\n”,m);elseprintf(“%disnotaprimenumber\n”,m);}4、假设当年产值为100,工业产值的增长率分别为6%、8%、10%、12%时,求工业产值分别经过多少年可实现翻番。请填空完成。main(){inty[4],i;floats[4]={100,100,100,100},c[4]={.06,.08,.10,.12};clrscr();for(i=0;i4;i++){y[i]=0;while(【11】){s[i]=s[i]*(1+c[i]);(【12】)}printf(\ny=%d\ts=%.2f\tc=%.2f,y[i],s[i],c[i]);}}四、读程序,写出程序运行结果。(24分每题4分)1、main(){intx=10,y=10,I;for(I=0;I8;y=++I)printf(“%d%d”,x--,y);}2、main(){intm=37,n=13;while(m!=n){while(mn)m=m-n;while(nm)n-=m;}printf(“m=%d\n”,m);}3、main(){intx=9;for(;x0;x--){if(x%3==0){printf(“%d”,--x);continue;}}}4、main(){inta=7,b=2;floatx=2.5,y=4.7,z;z=x+a%3*(int)(x+y)%2/4;printf(“%f\n”,z);z=(a+b)/2+(int)x%(int)y;printf(“%f”,z);}5、main(){intx[]={0,1,2,3,4,5,6,7,8,9};ints,I,*p;s=0;p=&x[0];for(I=1;I10;I+=2)s+=*(p+I);printf(“sum=%d”,s);}6、main(){intk=4,m=1,p;p=func(k,m);printf(%d,p);p=func(k,m);printf(%d,p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}五、编程题:(20分每题10分)1、利用指针完成。输入两个整数,按先大后小的顺序输出。2、编程完成两个字符串的连接。(不使用strcat()函数)。
本文标题:2017广技师专插本C语言程序设计专业课真题
链接地址:https://www.777doc.com/doc-5315499 .html