资源描述
黄石理工学院 《高级语言程序设计》 试卷
[1]一个C程序总是从___B___
A)主过程开始执行 B)主函数开始执行
C)子程序开始执行 D)主程序开始执行
[2]若有代数式2lnxcosx/3x,则正确的C语言表达式是____D__
A)2*ln(x)*cos(x)/3*x B)2*ln(x)*cos(x)/(3*x)
C)2*log(x)*cox(x)/3*x D)2*log(x)*cos(x)/(3*x)
[3]若有以下类型说明语句:char a; int b; float c; double d; 则表达式a*b+d-c的结果类型为_____D_
A)float B)char C)int D)double
[4]已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句 ch1=`A`+`6`-`3`; 后,ch1中的值是__B____
A)D B)68 C)一个不确定的值 D)C
[5]putchar 函数可以向终端输出一个___D___
A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值
[6]已知a,b,c为int 型变量,若有输入语句:
scanf (“a=%db=%dc=%d ”, &a,&b,&c) ; 为使a 值为1,b值为3,c 值为2,从键盘输入数据的正确型式应当是___B___
A)123<回车> B) a=1b=3c=2<回车>
C) 1<回车> 3<回车> 2<回车> D) a=1<回车> b=3<回车> c=2<回车>
[7]判断char型 变量c1是否为大写字母的正确表达式___C___
A) ’A’<=c1<=’Z’ B) (c1>=’A’)&(c1<=’Z’)
C) (c1>=’A’)&&(c1<=’Z’) D) (‘a<=c1’)AND(‘Z’>=c1)
[8]下面程序所表示的函数学关系是 C
x=-1; if(a!=0) if(a>0)x=1;else x=0;
A) B) C) D)
[9]以下关于switch语句和break语句的描述中正确的是______
A) 在switch语句中必须使用break语句
B) break语句只能用于switch语句中
C) break语句只能用于循环体中
D) 在switch语句中使用break语句或continue语句作用相同
[10]以下对一维数组a的正确说明是__D____
A)char a(10); B) int a[ ]; C) int k=5,a[k]; D) char a[ ]={‘a’,’b’,’c’};
[11]若有说明语句: int a[ ][3]={1,2,3,4,5,6,7,8}; ,则a数组的行数为__A____
A)3 B)2 C)无确定值 D)1
[12]若二维数组y有m列,则在y[i][j]前的元素个数为__B____
A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1
[13]C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是_B_____
A)float型 B) int 型 C) long型 D) double型
[14]以下有关宏替换的叙述不正确的是___B___
A) 宏名不具有类型 B) 宏名必须大写字母表示
C) 宏替换只是字符替换 D) 宏替换不占用运行时间
[15]设已有说明语句:int i=5,*q;,若要建立如图所示的存储结构,以下正确的赋值语句是:_C
q i
A) q=i; B) *q=i; C)q=&i; D)*q=&i;
[16]若有定义:int x[5],*p=x; ,则不能代表数组首地址的是____C__
A)x B)&x[0] C)&x D)p
[17]当定义一上结构体变量时系统分配给它的内存是___D___
A) 结构中每一个成员所需的内存量
B) 结构中最后一个成员所需的内存量
C) 结构体成员中占内存量最大者所需的容量
D) 结构体中各成员所需内存量的总和
[18]若有以下说明和语句,则对结构变量std中成员id的引用方式不正确的是___B___
struct work
{int id;
int name;
}std,*p;
p=&std;
A) std.id B) *p.id C) (*p).id D) p->id
[19]若要使指针变量p指向一个动态开辟的字符型存储单元,则①中应选择填入的是____D__
int *p;
p=①malloc(sizeof(char));
A) char B) char* C) (*char) D) (char*)
[20]下面对typedef的叙述中不正确的是__B____
A) 用typedef不能定义变量名
B) 用typedef可以定义新的数据类型
C) 用typedef只是将已存在的类型用一个新的标识符来代表
D) 使用typedef有利于程序的通用和移值
[1]C源程序的基本单位是 函数
[2]在C语言中,输入操作可以由库函数 scanf 完成,输出操作可以由库函数 printf 完成。
[3]若x是int型变量,且x=6,则表达式x%2+(x+1)%2的值为 1 。
[4]设x,y,z均为int型变量 ,请用C语言的表达式描述以下命题。
⑴ x或y中有一个小于z ____(x<z)_|| (y<z)__
⑵ x,y和z中只有两个为负数 ____((x<0)&&(y<0)&&(z>=0))||_ ((z<0)&&(y<0)&&(x>=0)) ||((x<0)&&(z<0)&&(y>=0))_
⑶ y 是奇数 _y%2!=0______
[5]设a,b,c均是int型变量,则执行以下for循环后,c的值为_10___。
for(a=1,b=5;a<=b;a++) c=a+b;
[6]若用以下形式表示for循环语句:for(表达式1;表达式2;表达式3) 循环体语句, 则执行语句for(i=0;i<3;i++) printf(“*”);时,表达式1执行_1__次,表达式3执行_3____次。
[1] 阅读程序,写出运行结果.
#include”stdio.h”
main()
{int i,j;
for(i=4; i>=1; i--)
{ for (j=1;j<=i;j+ +) putchar(‘#’);
for (j=1;j<=4-i;j+ +) putchar(‘*’);putchar(‘\n’)}
####
###*
##**
#***
[2]阅读程序,写出运行结果。
void f1(int x,int y,int z)
{x=111;y=222;z=333;}
main()
{int x=100,y=200,z=300;
f1(x,y,z);
printf(“%d,%d,%d\n”,z,y,x); 300,200,100
}
[1]下面程序的功能是计算1-3+5-7+…-99+100的值,请填空。
main()
{int i,t=1,s=0;
for(i=1;i<=101;i+=2)
{_①__; s=s+t;__②__;}
printf(“%d\n”,s);
}
t=t*i
t= - t/i
[2]以下程序的功能是:输入三个整数n1,n2,n3,按从大到小的顺序进行输出。请填空。
main()
{int n1, n2, n3, temp;
scanf(“%d%d%d”,&n1,&n2,&n3);
if(_n1<n2___)
{temp=n1;n1=n2;n2=temp;}
if(_n1<n3___)
{temp=n1;n1=n3;n3=temp;}
if (n2<n3 ) {temp=n2;n2=n3;n3=temp;}
printf(“%d,%d,%d/n”,n1, n2, n3);
}
第 2 页 共 2 页
展开阅读全文