全国自考高级语言程序设计(一)精选试题及答案4
-
编写程序输入30个学生的学号、姓名、3门课程的成绩,存入一个结构体类型的数组。统计每个学生的总分并输出学生的学号、姓名、总分。
-
用当型循环结构实现并输出1+2+3+…+50的和。
-
利用宏定义和函数求最大值。
#include <stdio. h>
#define_______((a)>=(b)?(a):(b))/*有参宏定义*/
int main( void)
{
int j,k;
printf("Please input two integers: \n");
scanf( "%d%d",&j,&k);
printf("The max is %d\n",_______);
retum 0;
}
-
以下程序不借助任何变量,把x、y中的值进行交换。
#include< stdio.h>
void main() { int x,y; printf("Input x,y: "); scanf("% d%d",______ ); x+=y; y=x-________ ; x-=_______; printf("x= %d,y =%\n", x,y); } -
下列程序中,主函数main调用函数 LineMax,求维数组中每一行元素的最大值并输出。
#include <stdio.h>
#define N3
#define M4
void LineMax( int x[N] [M])
{
int i,j, max;
for(i=0;i<N;i++)
{
max=x[i][0];
for(j=1;j<M;j++)if(max<x[i][j])_______;
printf("The max value in line %d is %d\n",i_______);
}
}
void main()
{
int a[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
_______;
}
-
#include< stdio.h>
void main()
{
int a[]={1,2,3,4,5,6};
int *p;
p=a;
*(p+3)+=1;
printf(" %d, %d \n",*p, *(p+3));
}
-
#include<stdio.h>
main() { int i=1,s=3; do {
s+=i++
if(s%==0) continue;
else++i;
}
while(s<15);
printf("%d",i);
return 0;
}
-
#include< stdio.h>
#define PR printf("x=%d,y=%d\n",x,y)
int x=2,y=8; /*全局变量*/
void fun()
{
x++;PR;
}
void main()
{
int x=8;
fun();
PR;
}
-
C程序的执行从_______开始。
-
#include <stdio. h>
void main()
{
int i,a[5];
for(i=0;i<5;i++)
a[i]=9*(i-2+4*(i>2))%5;
for(i=4;i>=0;i--)
printf("%3d",a[i]);
}
-
设
struct S
{ int a,b;
char c;
double d;
};
则定义该结构体类型变量t的正确语句是_______。
-
若只对实型二维数组每行的前若干元素赋初值,则所有未赋初值的数组元素的值为_______。
-
一个字符型变量所占内存的字节数是________。
-
C语言中,整型常量的书写形式包括八进制、十进制和_______进制。
-
解决问题的步骤序列就是_______。
-
常量可以有不同的类型,C语言规定常量包括_______实型常量、字符型常量、字符串常量和符号常量。
-
若已知a=6,b=8,则表达式!a<b的值为_______。
-
C语言中,唯一的一个三目运算符是_______。
-
设有下列数据定义语句,则表达式 sizeof(ab)的值是()
struct{ char a; short b; float c;}abc;
- A.3
- B.7
- C.8
- D.6
-
指针运算中,取地址运算符“&”的运算对象必须是_______。
-
设有定义语句“int x=6,*p=&x;”,则值不为6的表达式是()
- A.x
- B.*p
- C.p+0
- D.*&x
-
sizeof( double)是()
- A.函数调用
- B.int型表达式
- C.double型表达式
- D.非法表达式
-
循环体至少被执行一次的是()
- A.for语句
- B.while语句
- C.do- while语句
- D.continue语句
-
C语言中,组成文件的是()
- A.字符(字节)序列
- B.数据块
- C.数据行
- D.记录
-
使用系统函数abs()时,应在程序开头写上的编译预处理命令是()
- A.#include< math.h>
- B.#include< string.h>
- C.#include< stdio.h>
- D.#include< stdlib.h>
-
设 struct num
{
int a;
int b;
}
d[3]={{1,4},{2,5},{6,7}};
则执行语句 printf("%d\n",d[2].a*d[2].b/d[1].b);后的输出结果是()
- A.2
- B.5
- C.8
- D.4
-
打开文件时,若文件使用方式选用字符串"w",则表示()
- A.打开一个已存在的二进制文件,只能读取数据
- B.打开一个文本文件,只能写入数据
- C.打开一个已存在的文本文件,只能读取数据
- D.打开一个二进制文件,只能写入数据
-
以下说法中不正确的是()
- A.使用 while循环时,循环变量初始化的操作应在循环语句之前完成
- B.while循环是先判断表达式后执行循环体语句
- C.do -while-和for循环均是先执行循环体语句,后判断表达式
- D.for、while和do- while循环中的循环体均可以由空语句构成
-
设intx,y;,下列语句正确的是()
- A.5=x;
- B.x=y- -;
- C.(x+y)++;
- D.x+y=100;
-
宏定义#define PI 3.14159中,用宏名PI代替的是一个()
- A.常量
- B.字符串
- C.单精度实数
- D.双精度实数
-
C语言中,函数返回值的类型由()
- A.return语句中表达式的类型决定
- B.定义的函数类型决定
- C.调用该函数的主函数类型决定
- D.调用该函数时的系统状态确定
-
以下选项中,合法的用户标识符是()
- A.long
- B._2Tes
- C.3Dmax
- D.a.dat
-
正确的变量定义是()
- A.unsigned long d= 1000;
- B.float m1=m2=10.0;
- C.char cl ='A', c2=A;
- D.double x=1.76,x=92.84;
-
下列程序段中,循环体被执行的次数是()
int t=81,v=9
while(t%v==0)
printf("%c\n",'*');
- A.0
- B.1
- C.9
- D.无限