《2017广技师专插本C语言程序的设计专业课真题版》由会员分享,可在线阅读,更多相关《2017广技师专插本C语言程序的设计专业课真题版(8页珍藏版)》请在金锄头文库上搜索。
1、 技术师学院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、假设已定义char a10和char *p=a, 下面的赋值语句中,
2、正确的是: A) a10=”Turbo C”; B) a=”Turbo C”;C) *p=”Turbo C”; D) p=”Turbo C”;2、下面关于运算符优先顺序的描述中正确的是: A)关系运算符 算术运算符 赋值运算符 逻辑与运算符B)逻辑 运算符 关系运算符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符 关系运算符 算术运算符D)算术运算符 关系运算符 赋值运算符 逻辑与运算符3、以下正确的描述是。 A)continue语句的作用是结束整个循环的执行 B)只能在循环体和switch语句体使用break语句 C)在循环体使用break语句或continue语句的作用相同 D)从多
3、层循环嵌套中退出时, 只能使用goto语句4、用8位无符号二进制数能表示的最大十进制数为 A) 127 B) 128 C) 255 D)256 5、下列叙述中正确的是: A) C语言中既有逻辑类型也有集合类型 B) C语言中没有逻辑类型但有集合类型 C)C语言中有逻辑类型但没有集合类型 D) C语言中既没有逻辑类型也没有集合类型 6、以下对C语言函数的有关描述中,正确的是: A)调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B)函数既可以嵌套定义又可以递归调用 C)函数必须有返回值,否则不能使用函数 D) 程序中有调用关系的所有函数必须放在同一个源程序文件中 7、在C语言中,不
4、正确的int类型的常数是: A) 32768 B)0 C) 037 D) 0xaf8、以下叙述中不正确的是: A)在不同的函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量 C)在一个函数定义的变量只在本函数围有效 D)在一个函数的复合语句中定义的变量在本函数围有效9、 以下说法中正确的是: A)#define和printf都是C语句 B)#define是C语句,而printf不是 C)printf是C语句,但#define不是 D)#define和printf都不是C语句10、若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是: A)以下两处的*
5、p含义相同,都说明给指针变量p赋值 B)在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元 C)语句“*p=r;”把变量r的地址值赋给指针变量p D)语句“*p=r;”取变量r的值放回r中三、填空题:(24分 每空2分)1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间用空格分开。请填空完成。# include main()char str81; int i,( 【1】 ); char c;gats(str);for(i=0;( 【2】 )!=0;i+) if(c= )word=0; else if( 【3】 ) word=1; ( 【4】 )pr
6、intf(“There are %d word in line. n”,num);2、下面程序的功能是:用选择排序法对数组中10个数据按由小到大排序。请填空完成。void sort(int a,int n)( 【5】 )for(I=0;In-1;I+) ( 【6】 ) for(j=I+1;jn;j+) if(ajak)k=j; if( ( 【7】 ))t=ak;ak=aI;aI=t; main()int b10,I;printf(“enter the arrayn”);for(I=0;I10;I+) scanf(“%d”.&bI);( 【8】 )printf(“the sorted array
7、: n”);for(I=0;I10;I+) printf(“%d “,bI);printf(“n”);3、判断m是否是素数 #include main()int m,i,k;scanf(“%d”,&m); ( 【9】 )for(i=2;i=k+1) printf(“%d is a prime numbern”,m);else printf(“%d is not a prime numbern”,m);4、假设当年产值为100,工业产值的增长率分别为6%、8%、10%、12%时, 求工业产值分别经过多少年可实现翻番。请填空完成。main()int y4,i; float s4=100,100,1
8、00,100,c4=.06,.08,.10,.12; clrscr(); for(i=0;i8;y=+I) printf(“%d %d”,x-,y);2、main() int m=37,n=13;while(m!=n) while(mn) m=m-n; while(nm) n-=m; printf(“m=%dn”,m); 3、main() int x=9;for(;x0;x-) if(x%3=0) printf(“%d”,-x); continue; 4、 main() int a=7,b=2; float x=2.5,y=4.7,z; z=x+a%3*(int)(x+y)%2/4; prin
9、tf(“%fn”,z); z= (a+b)/2+(int)x%(int)y; printf(“%f”,z); 5、main() int x=0,1,2,3,4,5,6,7,8,9;int s,I,*p;s=0;p=&x0;for(I=1;I10;I+=2) s+=*(p+I);printf(“sum=%d”,s); 6、main()int k=4,m=1,p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%d,p); func(int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return(m); 五、编程题:(20分 每题10分)1、利用指针完成。输入两个整数,按先大后小的顺序输出。2、编程完成两个字符串的连接。(不使用strcat( )函数)。