辽宁科技大学C语言专升本
本试卷为辽宁科技大学C语言专升本,题目包括:填空题。
本卷包括如下题型:
C语言专升本
一、填空题 (共40题,每题2.5分,共计100分)
1、下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 int n=0, ch; ch=getchar( ); while( ________ ) { if ( ________ ) n++; c=getchar( ); }
2、int *p 的含义是 ________ 。
3、定义4行3列的整型二维数组a的语句是________。
4、在c语言中,格式输入库函数为________,格式输出库函数为________。
5、仅由顺序、选择(分支)和重复(循环)结构构成的程序是________程序。
6、以下函数sstrcat( )的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。 void sstrcat(char *s, char *t) { int n; n= strlen(s); while (*(s+n)= ________ ) { s++; t++; } }
7、现有两个c程序文件t18.c和myfun.c同在tc系统目录(文件夹)下,其中t18.c文件如下: #include <stdio.h> #include "myfun.c" main() { fun(); printf("\n"); } myfun.c文件如下: void fun() { char s[80],c; int n=0; while((c=getchar())!=′\n′) s[n++]=c; n--; while(n>=0) printf("%c",s[n--]); } 当编译连接通过后,运行程序t18时,输入thank!则输出结果是:________。
8、有一下程序 #include <stdio.h> main() { int f,f1,f2,i; f1=0; f2=1; printf("%d %d ",f1,f2); for(i=3;i<=5;i++) { f=f1+f2; printf("%d",f); f1=f2; f2=f; } printf("\n"); } 程序运行后的输出结果是 ________。
9、若i为整型变量,且i%2==0的值为1,则变量i为________数。
10、结构化程序设计的3种基本结构是:顺序结构、选择结构、______结构,这三种基本结构构成了复杂的c语言程序。
11、下列程序段的运行结果是_____。 char s1[20]="abcdef", s2[5]="abc"; strcpy(s1,s2); printf("%c", s1[5]);
12、在c语言中,实参和形参之间的数据传递是【1】向的值传递。
13、有函数调用fun1(x+y, (y,z), 10, fun((x,y-1))); 函数fun1有【1】个参数。
14、if语句与_________语句一起可以构成循环结构。
15、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"( )"。
16、已知"float a=3.5;int b=12;",则算术表达式"(int)(a+b/5)"的值是________。
17、语句putchar('a'+2);的输出结果是________。
18、若int a=3,b=2,c=1,f;表达式f=a>b>c 的值是________。
19、局部变量又称内部变量,是在函数( )定义的变量。
20、以下程序的输出结果是________。 main() { int x=5,y=6; printf("%daa%d",++x,y――); }
21、下列程序段的运行结果是________。 #define add(x , y) x+y main() { int a , b , s; A=5, b=6; S=add(a,b); printf("s=%d\n" , s); }
22、main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } } 程序的输出结果a的值为________。
23、for (a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } 程序的输出结果a的值为________ 。
24、int y=1, x, *p, a[ ]={2,4,6,8,10}; p=&a[1]; for(x=0;x<3;x++) y + = * (p + x); printf("%d\n",y); 程序的输出结果y的值是________ 。
25、字符读写函数( )是用于把一个字符写入磁盘文件。
26、在c语言中,可以用/*…*/对c程序中的任何部分作______。
27、"空"指针值用______表示
28、下列程序段的运行结果是_____。 struct st { longnum; charname[20]; charsex; floatscore; } w={1021103,"jiangping",'m',85.5}; main() { printf("%s\n",w.name); }
29、c语言的源程序拓展名为()编译后生成() 链接后生成()
30、在一个c 源程序中, 注释部分两侧的分界符分别为___和____。
31、下面程序的功能是计算1-3+5-7+...-99+101 的值,请分析程序填空。 #include<stdio.h> main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { 【1】________; s=s+t; 【2】________; } printf("%d\n",s); }
32、函数del 的作用是删除有序数组a 中的指定元素x。已有调用语句n=del(a,n,x); 其中实参n 为删除数组元素的个数,赋值号左边的n 为删除后数组元素的个数。请填空。del(int a[],int n,int x) { int p,i; p=0; while (x>=a[p]&&p<n)【1】________; for(i=p-1;i<n;i++)【2】________; n=n-1; return n; }
33、以下程序的运行结果是________。 int i=0; main() { int i=5; reset(i/2); printf("i=%d\n",i); reset(i=i/2); printf("i=%d\n",i); reset(i/2); printf("i=%d\n",i); workover(i); printf("i=%d\n",i); } workover(int i) { i=(i%i)*((i*i)/(2*i)+4); printf("i=%d\n",i); return i; } reset(int i) { i=i<=2?5:0; return i; }
34、以下程序运行后的输出结果是 ________ #include <stdio.h> main() { int x=20; printf("%d ",0<x<20); printf("%d\n",0<x&&x<20); }
35、以下程序的运行结果是________。 #include <stdio.h> main() { int x, y = -2, z = 0; if ((z = y) < 0) x = 4; else if (y == 0) x = 5; else x = 6; printf("\t%d\t%d\n", x, z); if (z = (y == 0)) x = 5; x = 4; printf("\t%d\t%d\n", x, z); if (x = z = y) x = 4; printf("\t%d\t%d\n", x, z); }
36、请补充函数proc(),该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,str指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入"abcabcabcab",c=b时,b的输出为"abcabcaca"; 如果str的输入为"abcabcabca",则b的输出为"abcabcabca"。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅程函数proc()的横线上填入所编写的若干表达式或语句。 试题程序: #define M 80 void proc(char str[],char b[],char c) { int i=0,j=0; int n=0; int m=0; while(str[i]!='\0') { if(str[i]==c) n++; i++: } ________ ; if(n%2) { while(str[j]!='\0 ') { b[j]=str[j]; j++; } b[j]='\0'; } else { while(str[i]!='\0 ') { b[j++]=str[i]; if(str[i]==c) m++; if((m>n/2)&&(str[i]==c)) ________ ; i++: } ________ ; } } void main() { char str[M],b[M]; char c; system("cls"); printf("Enter the strin9:\n"); gets(str); printf("Enter the character of the string deleted:"); scanf("%c",&c); proc(str,b,c); printf("The new string is:%s\n",b); }
37、请补充main()函数,亥函数的功能是求方程ax2+bx+ e=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b*b-4*a*c)小于0,则要求重新输入a、b、c的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是:x1 =-1.00,x2=-1.00。 注意:部分源程序给出如下。 请勿改动函数中的其他任何内容,仅在横线上填入所编写的若干表达式或语旬。 试题程序: void main() { double a,b,c,x1,x2,disc; do { printf("input a,b,c:"); scanf("%1f,%1f,%1f",&a,&b,&c); disc=b*b一4*a*c; if(disc<0) printf("disc=%1f\n input again!\n",disc); } while( ________); printf("****The result****\n"); x1=(-b+ ________ (disc))/(2*a); x2=(-b- ________(disc))/(2*a); printf("\nx1=%6.21f\nx2=%6.21f\n",x1,x2); }
38、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括 函数类型、函数名和______。
39、如果一个函数无返回值,定义它时函数类型应是______。
40、在C语言中,表示静态存储类别的关键字______。
相关标签:
- C语言
- 辽宁科技大学
- 专升本