.
上海师范大学标准试卷
~学年第学期考试日期年月日
(考试时间:90 分钟)
科目: C 语言程序设计 (模拟卷 )
专业本科年级班姓名学号
题号一二三总分
得分
我承诺,遵守《上海师范大学考场规则》 ,诚信考试。签名:________________
得得分一、选择和填空题(本大题满分20 分,每题 2 分。)
1、把 a1、a2 定义成整型变量, 并赋初值 1 的定义语句是。
2、有以下程序片段,请问执行后的输出结果是。
char a=8,c;c=a>=3;printf("%d\n",c);
3、有以下程序片段,若程序运行时从键盘输入48(字符 0 的 ASCII 码) ,则输
出结果为。
char c1,c2;scanf("%d",&c1);c2=c1+9;printf("%c%c\n",c1,c2);
4、有以下程序片段,若程序运行时从键盘输入12,则输出结果为。
scanf("%d",&x); if(x>15) printf("%d",x-5); if(x>10) printf("%d",x); if(x>5) printf("%d\n",x+5);
5、有以下程序片段,请问执行后的输出结果是。
char str[]="ABCD"; printf("%d\n",str[4]);
6、若变量已正确定义,要将 a 和 b 中的数进行交换,下面不正确的语句是。
A) a=a+b, b=a-b, a=a-b;B) t=a, a=b, b=t;
C) a=t; t=b; b=a;D) t=b; b=a; a=t;
7、下面程序段中循环体的执行次数是。
int j=0; do{j=j+1; }while(j>2);
A)0次B)1次C)2次D) 无限次
8、以下程序的输出结果是。
int fun(int a, int b, int c ) { return c=a*b;}
main() { int c=3;fun(2,3,c);printf("%d\n",c); }
A)2B)3C)6D) 无定值
9、假设二维数组 a 有 m 列,则在元素 a[i][j] 前的元素个数为。
A) j*m+iB) i*m+jC) i*m+j-1D) i*m+j+1
10、 判断整型变量 a 的值是否处于区间 [5, 10]的表达式应写作。
..
.
得得分二、 合 (本大 分60 分, 1,2 每 6 分,其余每 8 分。)
1、下面程序 氏温度 C 表示 氏温度 F,其中有 3 个 , 指出并改正。
#include
int main ( )
{
float f,c;
scanf("%d",f);
c=(5/9)*(f-32);
printf("f=%f\nc=%f\n",f,c);
return 0;
}
改正:
2、下面程序 1+2+3+? +100, 其中有
个 , 指出并改正。
#include
int main()
{ int sum; while(i<=100);
{sum=sum+i; i++;
}
printf("sum=%d\n",sum);
return 0;
}
改正:
3、程序填空: 入一字符串, 求其中数字的个数。
#include
int main()
{ char s[80];
int i, num=0;
gets(s);
for (i=0;【1】;i++)
{
if ( 【2】) num++;
}
printf("num=%d\n",num);
}
【1】
【2】
4、以下程序用来 二 数 是
否 称(即: 所有i ,j 都有
a[i][j]=a[j][i] )。
#include
int main()
{ int a[4][4]={1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4};
int i, j, found=0;
for(j=0; j<4; j++)
{ for(i=0; i<4; i++)
{if( 【1】)
{found= 【2】;break; }
}
if (found) 【3】;
}
if( 【 4】 ) printf(" 不 称 \n"); else printf(" 称 \n"); return 0;
}
【1】
【2】
【3】
【4】
..
5、程序填空:输入 10 个数,要求输出其中值最大的元素和该数是第几个数。
#include
int main()
{ int 【 1】 ;