20秋学期《高级语言程序设计基础》在线平时作业3
1.[单选题] 以下对指针变量的操作中,不正确的是( )。
附件是答案,核对题目下载
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;”
答:——D——
2.[单选题] 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A.该变量只在该复合语句中有效
B.该变量在该函数中有效
C.该变量在本程序范围内有效
D.该变量为非法变量
答:——A——
3.[单选题] 以下程序的运行结果是( )。
# include “stdio.h”
main()
{ struct date
{ int y,m,d;} today;
printf(“%d\n”, sizeof(struct date));}
A.2
B.3
C.6
D.出错
答:——C——
4.[单选题] 执行下面程序段后,x的值是( )。
int x;printf(“%d\n”,(x=3*5,x+5));
A.10
B.15
C.20
D.5
答:————
5.[单选题] 若执行下述程序时从键盘输入3 4,则输出结果是( )。#include main( ) { int a,b,s; scanf(“%d%d”,&a,&b); s=a; if (a
A.186
B.256
C.324东大答案q599792222 或请进 opzy.net
D.400
答:————
6.[单选题] 以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
答:————
7.[单选题] 以下正确的函数形式是( )。
A.double fun1(int x, int y) { z=x+y; return z; }
B.fun1(int x, y){ int z;return z; }
C.fun1(x, y) { int x, y; double z;z=x+y;return z; }
D.double fun1(int x, int y){ double z;z=x+y; return z; }”
答:————
8.[单选题] 若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
G.选项内容11
答:————
9.[单选题] 若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A.num%2==1
B.!(num%2==0)
C.!(num%2)
D.num%2
答:————
10.[单选题] 下面程序的运行结果是( )。 char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]);
A.输出空格
B.\0
C.e
D.f
答:————
11.[单选题] 下程序( )。
main( )
{ int x1=3, x2=0, x3=0;
if (x1=x2+x3)
printf(“* * * *”);
else
printf(“# # # #”); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
答:————
12.[单选题] 下列关于C语言的叙述错误的是( )。
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
答:————
13.[单选题] 已知 long i=32768;执行语句printf(“%d”,i);屏幕显示( )。
A.-1
B.-32768
C.1
D.32768
答:————
14.[单选题] 以下能正确进行字符串赋值操作的是( )。
A.char s[5]={“12345″};
B.char s[5]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};
C.char *s; *s=”12345″;
D.char *s=”12345″; ”
答:————
15.[单选题] 设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A.scanf(“c1=%cc2=%c”,&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)”
答:————
16.[单选题] 以下能对二维数组a进行正确初始化的语句是( )。
A.int a[2][]={{1,0,1},{5,2,3}};
B.int a[][3]={{1,2,3},{4,5,6}};
C.int a[2][4]={{1,2,3},{4,5},{6}};
D.int a[][3]={{1,0,1},{},{1,1}};”
答:————
17.[单选题] 以下程序段的运行结果是( )。
char a[ ]=”program”, *p;
p=a;
while (*p!=’g’) { printf(“%c”, *p-32); p++; }
A.PROgram
B.PROGRAM
C.PRO
D.proGRAM
答:————
18.[单选题] 以下判断正确的是( )。
A.char *s=”string”; 等价于char *s; *s=”string”;
B.char str[10]={“string”}; 等价于char str[10]; str={“string”};
C.char *s=”string”; 等价于char *s; s=”string”;
D.char str[10]={“string”}; 等价于char str[10]; *str={“strint”};”
答:————
19.[单选题] 若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
答:————
20.[单选题] 以下能正确读入字符串的程序段是( )。
A.char *p; scanf(“%s”, p);
B.char str[10]; scanf(“%s”, &str);
C.char str[10], *p; p=str; scanf(“%s”, p);
D.char str[10], *p=str; scanf(“%s”, p[1]);”
答:————