高级语言程序设计(一)2015年10月真题及答案解析
-
利用循环结构输出以下图形。
-
从键盘输入一个非负整数n,若为奇数,输出"Odd";若为偶数,输出"Even"。
-
将文本文件r.txt中的字符逐一读出并显示在屏幕上。
#include
#include
void main()
{
FILE *fp;
char ch;
if((fp=fopen ("r.txt",__________))==NULL)/*第一空*/
{printf("can't open file!\n"); exit(0);}
printf("读文件并显示:\n");
while(!feof(fp))
{ch=fgetc(fp);
printf("%c",__________);/*第二空制*/
}
printf("\n");
flose(__________);/*第三空*/
}
-
将5tch0名学生的姓名和成绩由键盘输入,计算并输出平均成绩。
#include
#define N 50
struct student
{
char name[20];
float score;
};
void main()
{struct student s(N];
int i;
float average=__________;/*第一空*/
fon(i=0; i
{scanf("%s%f", s[i].name, &s(i]. core);
averger+=__________;/*第二空*/
}
average=__________;/*第三空*/
printf("average=%7.2f\n", average);
}
-
#include
int sum(int n) /*递归函数*/
{ if(n==1) return 1;
else return n+sum(n-1);
}
void main()
{ printf("sum=%d\n", sum(10)); }
-
从键盘输入整数n(1≤n<10),分别计算并输出1!,2!,…,n!。
#include
long int fac(__________)/*第一空*/
{static int c=1;
c*=m; return (c);
}
void main()
{int i, n;
scanf("%d",__________);/*第二空*/
if(n>=1&&n<10)
for(i=1; i
else printf("Input Error! \n");
}
-
#include
void f (int x, int y, int *z)
{ *z-=x+y; }
void main()
{ int p=7, q=8, r=6;
f(p, g, &r);
printf("p=%d, q=%d, r=%d\n", p, q, r);
}
-
#include
int x=1; /*全局变量*/
int fx(int p)
{ x+=p++;
return p;
}
void main()
{
int y=1;
x++;
printf("x=%d, fx=%d\n", x, fx(y));
}
-
#include
void main()
{
int year 2015, month=2;
switch(month)
{
case 2: if(year%4==0&&year%100!=0||year%400==0)
printf("day=29\n");
else printf( "day=28\n"); break;
case 6:
case 9:
case 11: printi("day=30\n"); break;
default: printf("day=31\n");
}
}
-
设int=2, y=3;,执行语句printf("%d,%d\n", x++,++y);后的输出结果是_________。
-
将常数2.718定义为符号常量E的宏定义命令是__________。
-
关系表达式2<3<=4的值是_________。
-
设char ch=′b′;,执行语句printf("%c,%d\n", ch-32,ch);后的输出结果是_________。
-
运算符+=、++和+中优先级最高的是_________。
-
系统函数pew()应使用的文件包含命令是_________。
-
设int a=2, b=5;,执行语句a%=10-b;后,a的值是_________。
-
的C语言表达式是_________。
-
设int n=10;,执行语句printf("%o,%x\n", n, n); 后的输出结果是_________。
-
设typedef int ARRAY[10];,与ARRAY a, b;等价的是( )
- A.int a, b;
- B.int a[10], b[10];
- C.int a[10], b;
- D.int a, b[10];
-
执行语句printf("%d\n", 4&&5||6); 后的输出结果是_________。
-
表示“回车换行”的转义字符是( )
- A.'\n'
- B.'\0'
- C.'\\'
- D.'\t'
-
定义数组并初始化正确的是( )
- A.int a[]={0, 1, 2, 3};
- B.int a[2]={{3, 4},{5, 6}};
- C.int b[2][]={2, 3, 4, 5, 6, 7, 8, 9};
- D.int b[2][4]={{1, 2, 4, 5}, {2}, {3,4}};
-
设char s[20]= "World", t[20]= "Asia";,执行strcat(t,s); printf("%s, %d\n", t ,strlen(t));,后的输出结果是( )
- A.Asia,4
- B.World,5
- C.WorldAsia,9
- D.AsiaWorld,9
-
下列叙述正确的是( )
- A.for语句中的循环体至少被执行一次
- B.while语句中的循环体至少被执行一次
- C.continue与break在循环语句中的作用相同
- D.switch语句中case后可以不出现break语句
-
设char str[10]= "Computer";,执行prinff("%d\n",sizeof(str));,后输出结果是( )
- A.8
- B.9
- C.10
- D.11
-
设int a[]={1, 2, 3, 4, 5}, i=2;,其值为4的数组元素是( )
- A.a[0]
- B.a[4]
- C.a[i-1]
- D.a[a[i]]
-
设int x=7, *p=&x;,表达式的值为7的是( )
- A.P
- B.*p
- C.&x
- D.*x
-
设float x, y, z;,函数调用语句fun(z, ((x, y), x+z));中参数的个数是( )
- A.4
- B.3
- C.2
- D.1
-
正确的整型常数是( )
- A.0
- B.0.0
- C.0E0
- D.1.123
-
设int a=1, b=6;,执行表达式--a||(b=8)后,a和b的值分别是( )
- A.0,6
- B.0,8
- C.1,6
- D.1,8
-
表达式4.8-1/2+5%3的值是( )
- A.6.8
- B.5.3
- C.4.8
- D.3.5
-
设int a=5, b, 6;,正确的赋值语句是( )
- A.b=a%6.8;
- B.a+=b+=8;
- C.++(a+b);
- D.a+b=9;
-
设int a=3, b=4, c;,执行语句c=(a>b)?--a:b++;后,c的值是( )
- A.2
- B.3
- C.4
- D.5
-
正确的用户自定义标识符是( )
- A.x-y
- B.2x
- C.sizeof
- D.Main