[渝粤教育] 西南科技大学 程序设计语言(C) 在线考试复习资料

news/2024/11/28 4:45:52/

程序设计语言(C)——在线考试复习资料
一、单选题
1.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定

2.下列关于C语言用户标识符的叙述中正确的是( )
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

3.以下选项中属于C语言的数据类型是( )
A.复数型
B.布尔型
C.集合型
D.整型

4.一个C程序的执行是从( )
A.main()函数开始,直到main()函数结束
B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束
D.main()函数开始,直到最后一个函数结束

5.设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是( )
A.3
B.0
C.-12
D.9

6.以下有宏替换不正确的叙述( )
A.宏替换不占用运行时间
B.宏名无类型
C.宏替换只是字符串替换
D.宏名必须用大写字母表示

7.在定义inta[3][4];后,第10个元素是( )
A.[2][4]
B.[2][2]
C.[2][3]
D.[2][1]

8.设有语句:printf("%2d\n",2010);,则以下叙述正确的是( )
A.指定的输出宽度不够,编译出错
B.程序运行时输出10
C.程序运行时输出2010
D.程序运行时输出20

9.以下叙述中错误的是( )
A.实参的个数应与形参的个数一致
B.实参的类型应与形参的类型赋值兼容
C.形参可以是常量、变量或表达式
D.实参可以是常量、变量或表达式

10.设有定义:
int n = 1234;
double x = 3.1415;
则语句:printf("%3d,%1.3f\n", n, x); 的输出结果是( )
A.123,3.142
B.123,3.141
C.1234,3.142
D.1234,3.141

11.若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是( )
A.*p
B.[10]
C.*a
D.[p-a]

12.若有以下定义和语句:

A.4
B.5
C.9
D.10

13.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )
for (i=5;i>0;i——)
for(j=0;j<4;j++){……}
A.20
B.25
C.24
D.30

14.若有以下定义:
char s[20]=“programming”,*ps=s;
则不能代表字符o的表达式是( )
A.ps2
B.s[2]
C.ps[2]
D.ps=2,*ps

15.若有以下定义和语句

A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定

16.若有以下定义和语句:

则输出结果是( )
A.8,16,10
B.10,10,10
C.8,8,10
D.8,10,10

17.若有定义和语句:

则输出结果是( )
A.10,20
B.10,10
C.20,10
D.20,20

18.若有定义和语句:
char s[10];s=“abcd”;printf(“%s\n”,s);
则结果是(以下u代表空格)( )
A.输出abcd
B.输出a
C.输出abcduuuuu
D.编译不通过

19.合法的数组定义是( )
A.int a[]=“string”
B.int a[5]={0,1,2,3,4,5};
C.vhst s=“string”
D.har a[]={0,1,2,3,4,5};

20.若已定义x和y为double类型,则表达式:x=1,y=(x+3)/2的值是( )
A.1
B.2
C.2.0
D.2.5

21.函数调用语句“f((e1,e2),(e3,e4,e5));”中参数的个数是( )
A.1
B.2
C.4
D.5

22.若有以下的说明和语句:

则以下选项中能正确表示t数组元素地址的表达式是( )
A.&t[3][2]
B.pt[0]
C.
(pt+1)
D.&pt[2]

23.能正确表示a≥10或a≤0的关系表达式是( )
A.>=10 or a<=0
B.>=10│a<=0
C.>=10││a<=0
D.>=10 ││a<=0

24.若有以下说明:

A.w[1]1
B.p,
(p1)
C.w[2][2]
D.p[1][1]

25.若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是( )
A.p6
B.
(p6)
C.*p+5
D.p5

26.不能把字符串:Hello!赋给数组b的语句是( )
A.har b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,’!’};
B.har b[10];b=“Hello!”;
C.har b[10];strcpy(b,“Hello!”);
D.har b[10]=“Hello!”;

27.有以下程序段
int m=0,n=0; char c=’a’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是( )
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0

28.在下列选项中,不正确的赋值语句是( )
A.t
B.n1=(n2=(n3=0))
C.k=i==j
D.=bc=1;

29.表达式:10!= 9的值是( )
A.true
B.非零值
C.0
D.1

30.语言提供的合法的数据类型关键字是( )
A.ouble
B.short
C.integer
D.har

31.阅读程序回答问题:
main( )
{int i,j,k,m=0;
for(i=1;i<4;i++)
for(j=1;j<4;j++)
for(k=1;k<4;k++)
m++;
printf(“M=%d”,m);
}
以上程序输出M=( ).
A.3
B.6
C.9
D.27

32.下列程序运行的结果为
#include<stdio.h>
fun(int x,int y,int *cp,int *dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{int a,b,c,d ;
a=30 ;
b=50;
fun(a,b,&c,&d);
printf(“%d,%d\n”,c,d);
}
A.50,30
B.30,50
C.80,-20
D.80,20

33.下列程序运行的结果为
#include<stdio.h>
Main()
{intk=0;
Char c=’A’;
Do
{switch(c++)
{ case ‘A’:k++;break;
Case ‘B’:k–;break;
Case ‘C’:k+=2;break;
Case ‘D’:k=k%2;break;
Case ‘E’:k=k*10;break;
Default:k=k/3;
}
K++;
}while(c<’G’);
Printf(“k=%d”,k);
}
A.k=4
B.k=6
C.k=7
D.k=8

34.在如下程序段中的while循环
intk=0;
While(k=1) k++;
A.有语法错,不能执行
B.无限循环
C.一次都不执行
D.执行一次

35.设有以下宏定义:
#define M 2
#define X(m) ((M+2)m)
则执行语句:z=2
(M+X(3+2));后,z的值为
A.44
B.45
C.32
D.33

36.若有以下说明和语句,且0<=i<10,则( )是对数组元素的错误引用
int a[]={1,2,3,4,5,6,7,8,9,0},p,i;
p=a;
A.
(a+i)
B.[p-a]
C.p+i
D.*(&a[i])

37.下面程序的运行结果是
Main( )
{struct cmplx{intx;
inty;
}cnum[2]={1,3,2,7};
Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);
}
A.0
B.1
C.3
D.6

38.若有代数式3ae/(bc),则不正确的C语言表达式是
A.3ae/bc
B.3
ae/b/c
C./b/c
e*3
D.e/c/b3

39.若有float x;则sizeof(x)和sizeof(float)两种描述
A.都正确
B.都不正确
C.前者正确,后者不正确
D.后者正确,前者不正确

40.以下能正确进行字符串赋值的是
A.hars[5]={‘a’,’e’,’I’,’o’,’u’}
B.hars[5];s=”good”
C.hars[5]=”abcd”
D.hars[5];s[]=”good”

41.执行以下程序后,y的值是

A.6
B.4
C.8
D.10

42.下列程序的输出结果是( )

A.4 4
B.2 4
C.2 2
D.4 6

43.下列程序的输出结果是( )

A.xyabcAB
B.z
C.z
D.

44.设有如下定义:
char *aa[2]={“abcd”,“ABCD”};
则以下说法中正确的是( )
A.数组成元素的值分别是“abcd”和ABCD
B.是指针变量,它指向含有两个数组元素的字符型一维数组
C.数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.数组的两个元素中各自存放了字符’a’和’A’的地址

45.以下程序的输出结果是( )

A.10 10
B.9 9
C.9 10
D.10 9

46.以下程序的输出结果是( )

A.10 10
B.9 9
C.9 10
D.10 9

47.表达式“10!=9”的值是( )
A.true
B.非零值
C.0
D.1

48.执行语句“x=(a=3,b=a–)”后,x,a,b的值依次为( )
A.3,3,2
B.3,2,2
C.3,2,3
D.2,3,2

49.不是c语言提供的合法关键字是( )
A.switch
B.her
C.se
D.fault

50.二进制语言是属于( )
A.面向机器语言
B.面向过程语言
C.面向问题语言
D.面向汇编语言

51.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof( fp)的返回是( )
A.OF
B.-1
C.非零值
D.NULL

52.下列函数的功能是( )

A.求字符串的长度
B.比较两个字符串的大小
C.将字符串X复制到字符串Y
D.将字符串X连接到字符串Y后面

53.执行下面程序中输出语句后,a的值是( )

A.65
B.20
C.15
D.10

54.下面程序的输出是( )

A.3
B.4
C.1
D.2

55.若执行下面的程序时从键盘上输入3和4,则输出是( )
main()

A.14
B.16
C.18
D.20

56.下面程序的输出是( )

A.0
B.1
C.3
D.不确定的值

57.已知字母A的ASCⅡ码为十进制的65,下面程序的输出是( )

A.67,D
B.,C
C.,D
D.不确定的值

58.在C语言中,要求运算数必须是整型的运算符是( )
A.%
B./
C.<
D.!

59.下列语句中符合C语言语法的赋值语句是( )
A.=7+b+c=a+7
B.=7+b++=a+7
C.=7+b,b++,a+7
D.=7+b,c=a+7

60.将十六进制数176转换成十进制数是( )
A.366
B.268
C.374
D.270

61.下面程序的输出结果是
 typedef struct
 {longx[2];
 shorty[4];
 charz[8];
 }MYTYPE;
 MYTYPE a;
 main()
{printf("%d\n",sizeof(a));}
A.2
B.8
C.14
D.24

62.在定义inta[3][4];后,第10个元素是
A.[2][4]
B.[2][2]
C.[2][3]
D.[2][1]

63.下面程序的输出结果是
 #define POWER(x) (x*x)
 main()
 {int i=4;printf("%d",POWER(i-2)); }
A.-9
B.-7
C.5
D.-6

64.执行charstr[10]=”Ch\nina”;strlen(str)的值是
A.5
B.6
C.7
D.9

65.以下有宏替换不正确的叙述
A.宏替换不占用运行时间
B.宏名无类型
C.宏替换只是字符串替换
D.宏名必须用大写字母表示

66.已知:inta[2][3]={1,2,3,4,5,6}, (p)[3]=a;下列表达式不是4的是
A.
(p+3)
B.p+3
C.
(
(p+0)+3)
D.[0][3]

67.若有 char c[5]={‘c’,‘d’,’\0’,‘e’,’\0’};则执行语句printf("%s",c);结果是
A.\0e
B.‘c’‘d’
C.
D.

68.设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是
A.3
B.0
C.-12
D.9

69.一个C程序的执行是从
A.main()函数开始,直到main()函数结束
B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束
D.main()函数开始,直到最后一个函数结束

70.以下选项中属于C语言的数据类型是
A.复数型
B.布尔型
C.集合型
D.整型

71.设有如下说明
typedef struct
{ int n; char c; double x;}STD;
则以下选项中 ,能正确定义结构体数组并赋初值的语句是
A.STD tt[2]={{1,’A’,62},{2,’B’,75}};
B.STD tt[2]={1,“A”,62,2,"",75};
C.struct tt[2]={{1,’A’},{2,’B’}};
D.struct tt[2]={{1,“A”,62.5},{2,“B”,75.0}};

72.有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,k=2;
for(i=0;i<3;i++)
{ printf("%d ",m[k][i]); }
}
执行后输出结果是
A.4 5 6
B.2 5 8
C.3 6 9
D.7 8 9

73.有以下程序
main()
{ char *s[]={“one”,“two”,“three”},p;
p=s[1];
printf("%c,%s\n",
(p+1),s[0]);
}
执行后输出结果是
A.n,two
B.t,one
C.w,one
D.o,two

74.有以下程序
void f(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出的结果是
A.3,4,5
B.5,3,4
C.5,4,3
D.4,3,5

75.有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i–,++j);
}
执行后输出的结果是
A.9,2
B.10,2
C.9,1
D.10,1

76.有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}} 
执行后输出的结果是
A.011122
B.012
C.012020
D.120

77.有以下程序段
int m=0,n=0; char c=’a’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是:
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0

78.下列关于C语言用户标识符的叙述中正确的是
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

79.语言中用于结构化程序设计的三种基本结构是
A.顺序结构、选择结构、循环结构
B.if、switch、break
C.for、while、do-while
D.if、for、continue

80.以下叙述正确的是 
A.语言比其他语言高级  
B.语言可以不用编译就能被计算机识别执行 
C.语言以接近英语国家的自然语言和数学语言作为语言的表达形式 
D.语言出现的最晚、具有其他语言的一切优点

81.以下程序的输出结果是
unionmyun
{struct{intx, y, z; } u;
intk;
} a;
main()
{a.u.x=4;a.u.y=5;a.u.z=6;
a.k=0;
printf("%d\n",a.u.x);
}
A.4
B.5
C.6
D.0

82.以下选项中,不能正确赋值的是
A.hars1[10];s1=“Ctest”;
B.hars2[]={‘C’, ‘t’, ‘e’, ‘s’, ‘t’};
C.hars3[20]=“Ctest”;
D.har*s4=“Ctest\n”;

83.以下程序的输出结果是
main()
{int i, a[10];
for(i=9;i>=0;i- -) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A.258
B.741
C.852
D.369

84.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定

85.t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ ……}
则以下叙述中正确的是
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式不合法
D.以上说法都不对

86.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为
A.0
B.1
C.2
D.3

87.以下程序的输出结果是
main()
{inta=3;
printf("%d\n",a+(a-=a*a) );
}
A.-6
B.12
C.0
D.-12

88.以下选项中合法的字符常量是
A."
B.’\010’
C.68
D.

89.以下有4组用户标识符,其中合法的一组是
A.For
B.4d
C.f2_G3
D.WORD

90.在C语言中,合法的长整型常数是
A.OL
B.4962710
C.324562&
D.216D

91.能将高级语言编写的源程序转换为目标程序的是( )
A.链接程序
B.解释程序
C.编译程序
D.编辑程序

92.以下4组用户定义标识符中,全部合法的一组是( )
A._main enclude sin
B.If–max turbo
C.txt REAL 3COM
D.int k_2 _001

93.设有以下定义
int  a=0;
double  b=1.25;
char c=’A’;

#define d 2
则下面语句中错误的是(  )

A.++
B.++
C.++
D.++

94.以下4个选项中,不能看作一条语句的是( )
A."{;}"
B.=0,b=0,c=0
C.if(a>0)
D.if(b==0) m=1;n=2;

95.有以下程序

程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( )
A.nother number
B.nother number number
C.nother number another
D.number number number

96.有以下程序

A.1,2,3
B.3,1,2
C.1,3,2
D.2,3,1

97.有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是( )
A.5
B.6
C.8
D.9

98.有以下程序

A.28
B.22
C.16
D.4

99.设有以下语句
typedef struct S
{ int g; char h;}T;
则下面叙述中正确的是( )
A.可用S定义结构体变量
B.可以用T定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量

100.有以下程序

执行后输出结果是( )
A.10
B.9
C.7
D.8

二、判断题
101.语言中,为了区别一般的变量,符号常量必须用大写字母表示。( )

102.函数返回值的类型是由在定义函数时所指定的函数类型。( )

  1. 语言程序中可以有多个函数 , 但只能有一个主函数。( )

104.如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )

105.函数的实参可以是常量,变量或表达式。( )

106.se语句后如没有break,顺序向下执行。( )

107.o-while循环的while后的分号可以省略。( )

108.任何表达式语句都是表达式加分号组成的。( )
程序设计语言(C)——在线考试复习资料答案
一、单选题
1.

二、判断题
101.


http://www.ppmy.cn/news/865269.html

相关文章

ES(5)单节点集群

分布式集群 创建单节点集群 PUT http://101.43.146.44:9200/users body: {"settings":{"number_of_shards":3,"number_of_replicas":1} }返回结果 {"acknowledged": true,"shards_acknowledged": true,"index&quo…

java中http请求,记得加字符集 UTF-8,StringEntity

http请求经常会遇到一些奇怪的问题&#xff0c;例如发送请求失败&#xff0c;或者response出现问题&#xff0c;或者参数中带了url调接口失败&#xff0c;调用微信接口失败&#xff0c;调用nginx转发失败&#xff0c;等等。 但用postman调用不会有问题。 这说明参数本身没有问…

趋势病毒软件卸载攻略

具体步骤&#xff1a; 1、首先将电bai脑启动到安du全模式&#xff08;在电脑开机的时候zhi&#xff0c;出来windows图标之前dao按F8&#xff09;&#xff0c;有很多选项&#xff0c;选择安全模式。 2、打开注册表工具&#xff0c;winr&#xff0c;然后输入regedit回车&#xff…

趋势科技防毒墙—控管中心

趋势科技防毒墙—控管中心 作者&#xff1a; 转贴自&#xff1a; 趋势科技的Control Manager 为企业网络的防毒策略提供了强大的集中控管能力。因为可以从单一地点来进行软件的管理、监控和部署&#xff0c;所以企业能够更有效地管理整个企业的防毒策略。Control Ma…

趋势科技防毒墙-网络版(OfficeScan)客户端管理工具

一个用vc6写的程序&#xff1b;公司里安装了officescan的朋友可能有用&#xff1b;本软件针对趋势防毒墙网络版Officescan客户端开发的管理员辅助工具&#xff0c;可以清除趋势防毒墙客户端的退出或者卸载密码&#xff0c;也可以清除Officescan的未上报病毒日志。本程序在WinXP…

怎样关闭域用户电脑中的趋势杀毒软件

趋势杀毒&#xff0c;本来是个杀毒软件&#xff0c;我却要杀掉他。为什么呢&#xff1f; 1 占用系统资源&#xff0c;动不动就吃CPU&#xff0c;尤其是升级的时候&#xff1b; 2 定时杀毒时&#xff0c;机器几乎无法操作&#xff1b; 3 误报误杀&#xff0c;keygen.exe、md5.ex…

中国防毒软件市场深度研究分析报告

【报告篇幅】&#xff1a;116 【报告图表数】&#xff1a;164 【报告出版时间】&#xff1a;2021年1月 报告摘要 2019年中国防毒软件市场规模达到了XX亿元&#xff0c;预计2026年将达到XX亿元&#xff0c;年复合增长率(CAGR)为XX%。 本文研究中国市场防毒软件现状及未来发展…

趋势科技防毒墙

趋势科技的Control Manager 为企业网络的防毒策略提供了强大的集中控管能力。因为可以从单一地点来进行软件的管理、监控和部署&#xff0c;所以企业能够更有效地管理整个企业的防毒策略。Control Manager 的设计旨在能够快速部署、积极防治&#xff0c;主动遏止新病毒&#xf…