“中国航信杯”C语言程序设计-答案解析版(7)

2019-01-07 16:27

(45)下列描述中不正确的是( )

A、字符型数组中可能存放字符串

B、可以对字符型数组进行整体输入、输出 C、可以对整型数组进行整体输入、输出

D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

(46)下面程序运行后,关于a、b、c的值应输出为( )

#include \ main() {

int a=1, b=2, c=2,t;

while (a

A、1,2,0 B、2,1,0 C、1,2,1 D、2,1,1

(47)在16位 PC机环境下,下列程序的输出结果是( ) struct tt

{ int n1;char n2;float n3;

union uu{int u1[3];char u2[3];}su; };

main() {printf(“%d\\n”,sizeof(struct tt));} A、11 B、12 C、13 D、9

(48)若有如下程序:

void s(char *m,int n) {

*m=*m+3;n=n+3; printf(\); }

void main() {

char p=’b’,q=’B’; s(&q,p);

printf(\); }

则程序运行后的输出结果是( ) A、E,e,b,E B、e,E,b,F C、E,e,e,E D、e,E,b,E

- 31 -

(49)以下程序的输出结果是( ) #include int main() {

char str[100]=\ int i;

for(i = 0; *p != ’\\0’; p++,i++); printf(\); return 0; } A、7 B、8 C、99 D、100

(50)某C编译系统规定,int型数组占2个字节,则定义以下语句后,sizeof(aa)=( ) struct {long num; char name[20]; union {float x; short y; }xy; }aa; A、32 B、26 C、30 D、28

(51)语句:printf(“%d”,!0);的输出结果是( ) A、1 B、0

C、有语法错误 ,不能执行 D、!0

(52)函数f定义如下,执行语句“sum=f(4)+f(2);”后,sum的值应为( ) int f(int m) { static int i=0; int s=0; for(;i<=m;i++) s+=i; return s; } A、13 B、16 C、10 D、8

(53)fwrite函数的一般调用格式是( ) A、fwrite(buffer,count,size,fp); B、fwrite(fp,count,size,buffer); C、fwrite(fp,size,count,buffer); D、fwrite(buffer,size,count,fp); (54)有以下程序段 main()

{ int i=1,sum=0,n;

- 32 -

scanf(\); do

{ i+=2; sum+=i ;

}while(i!=n); printf(\); }

若使程序的输出值为15,则应该从键盘输入的n的值是( ) A、1 B、3 C、5 D、7

(55)下列选项可作为C语言赋值语句的是( ) A、a=1;b=2; B、a=b=6 C、i--

D、y=int(x);

(56)已知有以下的说明,

int a[]={8,1,2,5,0,4,7,6,3,9}; 那么a[*(a+a[3])]的值为( ) A、5 B、0 C、4 D、7

(57)已知 enum name{zhao=1,qian,sun,li}man;执行下述程序段后的输出结果是( ) man=0;

switch(man)

{ case 0: printf(\);break; case 1: printf(\);break; case 2: printf(\);break; default: printf(\);break; }

A、People B、Man C、Woman D、Error

(58)以下能正确计算1×2×3×??×10的程序段是( ) A、do {i = 1;s = 1;

s = s * i; i + +; } while (i <= 10); B、do {i = 1;s = 0; s = s * i; i + +;

} while (i <= 10);

C、i = 1;s = 1; do {s = s * i;

i + +;

- 33 -

} while (i <= 10); D、i = 1;s = 0; do {s = s * i; i + +;

} while (i <= 10); (59)以下程序的运行结果是( ) void main() {

int a=4; char ch=’a’;

printf( \(a&2)&&(ch>’A’)); } A、0 B、1 C、2 D、3

(60)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,下列语句正确的是( ) A、p=2*(int*)malloc(sizeof(int)); B、p=(int*)malloc(2*sizeof(int)); C、p=(int*)malloc(2*2);

D、p=(int*)malloc(2,sizeof(int)); 二、多选题(共计20题)

(1)以下叙述中正确的有( )。

A、在程序的一行上可以出现多个有效的预处理命令行 B、宏定义不是C语句,不必在行末加分号 C、宏替换不占用运行时间,只占用编译时间

D、在以下定义中C R是称为“宏名”的标识符 #define C R 045

(2)要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中,不能正确执行此功能的有( )。 A、funa(int *a, int n, int x) {

*a = x;

while(a[n] != x) n--; return n; }

B、funb(int *a, int n, int x) { int k;

for(k = 1; k <= n; k++) if(a[k] == x) return k; return 0; }

C、func(int a[], int n, int x) {

int *k;

a[0] = x; k = a+n;

while(*k != x) k--;

- 34 -

return k - n; }

D、fund(int a[], int n, int x) {

int k = 0; do {k++; }while((k < n+1)&&(a[k]!=x)); if((k < n+1)&&a[k] == x)) return k; else return 0; }

(3)下面说法正确的有( )。

A、共用体变量的地址和它各成员的地址都是同一地址 B、共用体内的成员可以是结构变量,反之亦然 C、在任一时刻,共用体变量的各成员只有一个有效 D、函数不可以返回一个共用体变量

(4)如有两个字符数组a、b,则以下输入语句正确的有( )。 A、gets(a,b);

B、scanf(\);

C、for(i=0;(a[i]=getchar())!=’\\n’;i++); for(i=0;(b[i]=getchar())!=’\\n’;i++); D、gets(a);gets(b);

(5)当把下列四个表达式用作if语句的控制表达式时,含义相同的选项有( )。(假设k>0) A、k%2 B、k%2==0 C、(k%2)!=0 D、k%2==1 (6)设有以下语句 struct st{ int n;

struct st *next; };

static struct st a[3]={5,&a[1],6,&a[2],7,},*p=&a[0];

若要使printf(\)输出值为6,则下划线处表达式可以为( )。 A、p->n++ B、++p->n C、(++p)->n D、p->next->n

(7)下列说法不正确的有( )。

A、带参数的宏定义中的参数是没有类型的 B、宏展开将占用程序的运行时间

C、宏定义命令是C语言中的一种特殊语句

D、使用#include命令包含的头文件必须以\为后缀

(8)下列有关函数调用的说法正确的有( )。

- 35 -


“中国航信杯”C语言程序设计-答案解析版(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2022年中国激光雷达市场竞争态势及十三五发展策略分析报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: