[期末考试] 南开《C语言程序设计》19秋期末考核答案第2套

[复制链接]
发表于 2020-3-28 22:02:00 | 显示全部楼层 |阅读模式
《C语言程序设计》19秋期末考核
1.[单选题] putchar函数可以向终端输出一个:
    A.整型变量表达式值
    B.实型变量值
    C.字符串
    D.字符或字符型变量值
    正确答案:——D——
2.[单选题] 以下对C语言中共用体类型数据的叙述正确的是( )
    A.可以对共用体变量名直接赋值
    B.一个共用体变量中可以同时存放其所有成员
    C.一个共用体变量中不能同时存放其所有成员
    D.共用体类型定义中不能出现结构体类型的成员
    正确答案:——C——
3.[单选题] 在C语言中,char型数据在内存中的存储形式是( )
    A.补码
    B.反码
    C.原码
    D.ASCII码
    正确答案:——D——
4.[单选题] 从用户使用的角度看,函数有两种,它们是( )
    A.库函数和用户自定义函数
    B.库函数和主函数
    C.用户自定义函数和主函数
    D.主函数和子函数
    正确答案:————
5.[单选题] 若调用fputc函数输出字符成功,则其返回值是( )
    A.EOF
    B.1
    C.0
    D.输出的字符
    正确答案:————
6.[单选题] 变量的指针,其含义是指该变量的( )
    A.地址
    B.值
    C.名字
    D.标识
    正确答案:————
7.[单选题] main() {int x=2,y=-1,z=2;  if(x<y)    if(y<0) z=0;    else z+=1;  printf("%d\n",z); } 以上程序的输出结果为( )。
    A.3
    B.2
    C.1
    D.0
    正确答案:————
8.[单选题] #include<stdio.h> main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。
    A.2
    B.4
    C.6
    D.8
    正确答案:————
9.[单选题] 设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )
    A.stutype 是用户定义的结构体类型名
    B.a 和 b 都是结构体成员名
    C.struct 是结构体类型的关键字
    D.struct stu 是用户定义的结构体类型
    正确答案:————
10.[单选题] 若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10};
则下列哪个是对该数组元素的正确引用(  )
    A.a[10]
    B.a[a[3]-5]
    C.a[a[9]]
    D.a[a[4]+4]
    正确答案:————
11.[单选题] 以下正确的叙述是( )
    A.在C语言中,每行只能写一条语句
    B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
    C.在C程序中,无论整数还是实数,都能被准确无误的表示
    D.在C程序中,%是只能用于整数运算的运算符
    正确答案:————
12.[单选题] 关于return语句,下列说法正确的是( )。
    A.不能在主函数中出现
    B.必须在每个函数中出现
    C.可以在同一个函数中出现多次
    D.只能在除主函数之外的函数中再出现一次
    正确答案:————
13.[单选题] 判断字符串a是否大于b,应当使用( )
    A.if (a>b)
    B.if (strcmp(a,b))
    C.if (strcmp(b,a)>0)
    D.if (strcmp(a,b)>0)
    正确答案:————
14.[单选题] 下面程序段  int k=2;  while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。
    A.while 循环执行 10 次
    B.循环是无限循环
    C.循环体语句一次也不执行
    D.循环体语句执行一次
    正确答案:————
15.[单选题] 已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:
    A.整型变量的输出格式符只有%d一种
    B.%x 是格式符的一种,它可以适用于任何一种类型的数据
    C.%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的
    D.%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
    正确答案:————
16.[单选题] #include “stdio.h” void main() { int sum=0,a=1;   while(a<=10)    {sum=sum+a;     a++;     } printf(“sum=%d\n”,sum); } 以上程序段的运行结果是( )
    A.sum=0
    B.sum=55
    C.sum=10
    D.sum=11
    正确答案:————
17.[单选题] 若执行fopen函数时发生错误,则函数的返回值是( )
    A.地址值
    B.null
    C.1
    D.EOF
    正确答案:————
18.[单选题] C语言结构体类型变量在程序执行期间( )。
    A.所有成员一直驻留在内存中
    B.只有一个成员驻留在内存中
    C.部分成员驻留在内存中
    D.没有成员驻留在内存中
    正确答案:————
19.[单选题] 以下对一维整型数组 a 的正确说明是( )
    A.int a(10) ;
    B.int n=10,a[n];
    C.int n;
    D.define SIZE 10      int a[SIZE];
    正确答案:————
20.[单选题] struct person {char name[9]; int age;}; struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。
    A.printf("%c\n",class[3].name);
    B.printf("%c\n",class[3].name[1]);
    C.printf("%c\n",class[2].name[1]);
    D.printf("%c\n",class[2].name[0])
    正确答案:————
21.[单选题] x=-2; y=-1; if(x!=0)   if(x>0) y=1; else y=0; 该程序段的输出结果为( )。
    A.1
    B.0
    C.-1
    D.不确定
    正确答案:————
22.[单选题] 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。
    A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。
    B.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。
    C.文件打开时,原有文件内容被删除,只可作写操作。
    D.以上各种说法皆不下确。
    正确答案:————
23.[单选题] 判断字符串a是否大于b,应当使用( )
    A.if (a>b)
    B.if (strcmp(a,b))
    C.if (strcmp(b,a)>0)
    D.if (strcmp(a,b)>0)
    正确答案:————
24.[单选题] main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 输入数据的形式是25,13,10<回车>,则程序的输出结果是( )
    A.x+y+z=48
    B.x+y+z=35
    C.x+z=35
    D.不确定值
    正确答案:————
25.[单选题] for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )
    A.2次
    B.无限次
    C.0次
    D.1 次
    正确答案:————
26.[判断题] 被main函数调用的函数只能是库函数。(  )
    A.错误
    B.正确
    正确答案:————
27.[判断题] 字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放。(  )
    A.错误
    B.正确
    正确答案:————
28.[判断题] 按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。(  )
    A.错误
    B.正确
    正确答案:————
29.[判断题] 在Visual C中,整型数据在内存中占2个字节。(  )
    A.错误
    B.正确
    正确答案:————
30.[判断题] C语言采用解释方式将源程序转换为二进制的目标代码。(  )
    A.错误
    B.正确
    正确答案:————
31.[判断题] C语言中没有依存于硬件的I/O语句。(  )
    A.错误
    B.正确
    正确答案:————
32.[判断题] C语言中的任何类型数据都可进行四则运算。(  )
    A.错误
    B.正确
    正确答案:————
33.[判断题] C语言中的标识符以字母或下划线开头,可跟任何字符。(  )
    A.错误
    B.正确
    正确答案:————
34.[判断题] 在Turbo C++中,字符型数据在内存中占1个字节。(  )
    A.错误
    B.正确
    正确答案:————
35.[判断题] PI可作为标识符使用。(  )
    A.错误
    B.正确
    正确答案:————
36.[主观填空题] 下面函数的功能是将字符变量的值插入已经按ASCII码值从小到大排好序的字符串中。请完善该程序。 void fun(char *w,char x,int *n){       int i,p=0;       while(x>w[p])             ##;       for(i=*n;i>=p;i--)             ##;       w[p]=x;      ##;}
    正确答案:————
37.[主观填空题] 以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。请完善该程序。#include <stdio.h>age( int n ){       int c;       if(##) c=10;       else c=##;       return(c);}main(){       int n=5;       printf("age:%d\n",##);}
    正确答案:————
38.[问答题] 请写出下面程序的输出结果。#include <stdio.h>fun(int n, int *s){       int f1, f2;       if(n==1||n==2)              *s=1;       else       {              fun(n-1, &f1);              fun(n-2, &f2);              *s=f1+f2;       }}main(){       int x;       fun(6, &x);       printf("%d\n", x);}
    正确答案:————
39.[问答题] 请写出下面程序的输出结果。main(){       int i,j,x=0;       for(i=0;i<2;i++)       {              x++;              for(j=0;j<-3;j++)              {                     if(j%2)                     continue;                     x++;              }              x++;       }       printf("x=%d\n",x);}
    正确答案:————
40.[问答题] 请写出下面程序的输出结果。#include <stdio.h>main ( ){       int a[]={1, 2, 3, 4, 5} ;       int x, y, *p;       p=&a[0];       x=*(p+2);       y=*(p+4);       printf("%d,%d,%d\n", *p, x, y);}
    正确答案:————
41.[问答题] 请写出下面程序的输出结果。#include <stdio.h>char *pp[2][3]={ "abc", "defgh", "ijkl", "mnopqr", "stuvw", "xyz"};main ( ){       printf("%c\n",***(pp+1));       printf("%c\n",**pp[0]);       printf("%c\n",(*(*(pp+1)+1))[4]);       printf("%c\n",*(pp[1][2]+2));       printf("%s\n",**(pp+1));}
    正确答案:————

《C语言程序设计》19秋期末考核.zip

3.77 KB, 下载次数: 19, 下载积分: 贡献 1

售价: 10 金币  [记录]

答案

快速回复 返回顶部 返回列表