上海海洋大学C语言程序设计专升本
本试卷为上海海洋大学C语言程序设计专升本,题目包括:填空题。
本卷包括如下题型:
C语言程序设计专升本
一、填空题 (共40题,每题2.5分,共计100分)
1、求主次对角线之和。
main()
{
static int a[ ][3]={9,7,5,1,2,4,6,8};
int i,j,s1=0,s2=0;
for(i=0;i<3;i++) for(j=0;j<3;j++)
{
if( ________ ) s1=s1+a[i][j];
if( ________ ) s2=s2+a[i][j];
}
printf("%d\n%d\n",s1,s2);
}
2、在c语言中,正确的标识符是由 ________ 组成的,且由 ________ 开头的。
3、有以下程序
main()
{
char c;
while((c=getchar())!='?') putchar( --c );
}
程序运行时,如果从键盘输入:ydg?n?<回车>,则输出结果为 ________ 。
4、符号"a"和’a’的区别是________ 。
5、定义4行3列的整型二维数组a的语句是________。
6、&& 0 || 2的值为________。
7、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
8、设int a; float f; double i; 则表达式10+’a’+i*f值的数据类型是________ 。
9、已有定义:double *p; ,请写出完整的语句,利用malloc函数使p指向一个双精度型 的动态存储单元 ________ 。
10、现有两个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!则输出结果是:________。
11、#include <stdio.h>
void main()
{
int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];
printf("%d\n",s);
}
12、表达式7+10>2 && 25 %5的结果是 ________ 。
13、若有定义语句:int a=5;,则表达式a++的值是 ________ 。
14、在c语言中,数组元素的下标从__________开始的。
15、ferror函数用来检测文件读写时是否发生错误,若未发生读写错误,则返回值是________。
16、已知t=5,则表达式"t-=t+=3"的值是______。
17、在c语言中,假使x为字符变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"( )"。
18、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"( )"。
19、在c语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数________。
20、c语言中与指针有关的两个运算符是________与*。
21、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为________。
22、若int a=3,b=2,c=1,f;表达式f=a>b>c 的值是________。
23、以下程序的运行结果是________。
main()
{
int a = 2, b = 3, c;
c = a;
if (a > b) c = 1;
else if (a == b) c = 0;
else c = -1;
printf("%d\n", c);
}
24、对于文件末尾检测函数feof(),如果文件指针未到文件末尾,则函数返回值是________。
25、编译预处理包括( )、文件包含、条件编译等。
26、int x=6, y=7;
printf("%d,",x++);
printf("%d\n",++y);
程序的输出结果是________。
27、下面程序的功能是:输出100以内能被3整除且个位数为6的 所有整数,请填空。
28、以下程序运行结果是________。
void swap2(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void main( )
{
int a=100,b=200;
swap2(&a,&b);
printf("%d,%d",a,b);
}
29、要调用数学处理函数时,在 #include命令中应包含()头文件。
30、以下程序的运行结果是________。
#include<stdio.h>
func(int array[][4],int m)
{
int i,j,k;
k=0;
for(i=0;i<3;i++)for(j=0;j<4;j++)if(array[i][j]<m)k=k+array[i][j];
return k;
}
main()
{
static int a[3][4]={{1,13,5,7},{2,4,26,8},{10,1,3,12}};
int i,j,m;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)printf("%4d",a[i][j]);
printf("\n");
}
m=10;
printf("\nthe value is %d\n",func(a,m));
}
31、以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如‘a’变成‘f’,‘w’变成‘b’。请在 内填入正确的内容。
#include <stdio.h>
void main()
{
char c;
c=getchar();
if(c>=’a’&&c<=’u’) ;
else if(c>=’v’&&c<=’z’) ;
putchar(c);
}
32、数学表达式10<y或者y<-10改写为c语言表达式是________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。
33、请阅读并分析以下程序,该程序的输出结果是:
#include <stdio.h>
main( )
{
int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++) switch(i%2)
{
case 0:switch(a[i]%2)
{
case 0:a[i]++;
break;
case 1:a[i]--;
}
break;
case 1:a[i]=0;
}
for(i=0;i<4;i++) printf("%d",a[i]);
printf("\n");
}
34、语言的函数体一般由____和____构成
35、定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为 ______。
36、函数体用{开始,用____结束。
37、在函数中使用______语句返回值。
38、C程序中用______括起来的内容是程序的注释语句。
39、break语句通常用于______中。
40、关系表达式x+y>5的相反表达式为______。
相关标签:
- C语言
- 上海海洋大学
- 专升本