欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载
     

    贵州大学c语言 试卷.doc

    • 资源ID:3034701       资源大小:140.50KB        全文页数:43页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    贵州大学c语言 试卷.doc

    一、单项选择题1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译B. 连接、运行 C. 编译、运行D. 编译、连接2.下列说法正确的是( ) A.一个c语言程序并非总是从主函数位置开始执行的 B.一个c语言程序有且只有一个主函数 C.函数可以嵌套定义,不可以嵌套调用 D.程序函数的位置不可以任意3.下面是合法C语言标识符的是() A. 2A_K; B. _M+N; C. M3; D. AC_2;4.下列格式符中,可以用于控制字符输出的是( ) A. %dB. %f C. %oD. %c5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( ) A. 4; B. 16; C. 30; D. 50;6.执行语句“for(i=1,s=0;i<=5;i+) s+=i;”后,变量s、i的当前值是( ) A. 10,5B. 15,6 C. 15,5D. 10,67.若有定义int x,*p;,则以下正确的赋值表达式是( ) A. p=x; B. p=&x; C. *p=&x; D. *p=*x;8.以下对结构体类型变量的定义中,不正确的是( ) A. typedef struct aa B. #define AA struct aa int n; AA int n; float m; float m; AA; stud; AA stud; C. struct D. struct int n; int n; float m; float m; aa; stud; struct aa stud;9.有如下函数调用语句:func(rec1,rec2+rec3,(rec4+rec5);函数调用语句中,含有的实参个数是( ) A. 3 B. 4 C. 5 D. 以上均不是10.对于以下宏定义:#define SQ(x) x*x#define QQ(x,y) SQ(x)- SQ(y) 宏调用QQ(2*3,2+3)执行后值为( ) A.25 B.11 C.43 D.以上均不是11.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译B. 连接、运行 C. 编译、运行D. 编译、连接12.下列说法正确的是( ) A.一个c语言程序并非总是从主函数位置开始执行的 B.一个c语言程序有且只有一个主函数 C.函数可以嵌套定义,不可以嵌套调用 D.程序函数的位置不可以任意13.下面是合法C语言标识符的是() A. 2A_K; B. _M+N; C. M3; D. AC_2;14.下列格式符中,可以用于控制字符输出的是( ) A. %dB. %f C. %oD. %c15.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( ) A. 4; B. 16; C. 30; D. 50;16.执行语句“for(i=1,s=0;i<=5;i+) s+=i;”后,变量s、i的当前值是( ) A. 10,5B. 15,6 C. 15,5D. 10,617.若有定义int x,*p;,则以下正确的赋值表达式是( ) A. p=x; B. p=&x; C. *p=&x; D. *p=*x;18.以下对结构体类型变量的定义中,不正确的是( ) A. typedef struct aa B. #define AA struct aa int n; AA int n; float m; float m; AA; stud; AA stud; C. struct D. struct int n; int n; float m; float m; aa; stud; struct aa stud;19.有如下函数调用语句:func(rec1,rec2+rec3,(rec4+rec5);函数调用语句中,含有的实参个数是( ) A. 3 B. 4 C. 5 D. 以上均不是20.对于以下宏定义:#define SQ(x) x*x#define QQ(x,y) SQ(x)- SQ(y) 宏调用QQ(2*3,2+3)执行后值为( ) A.25 B.11 C.43 D.以上均不是21有如下程序的输出结果是( )main( ) int y=3,x=3,z=1;Printf(“%d %dn”,(+x,y+),z+2);A 3 4 B 4 2 C 4 3 D 3 322下列说法不正确的是( )A 主函数main中定义的变量在整个文件或程序中有效B 不同函数中,可以使用相同名字的变量C 形式参数是局部变量D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效.23算术表达式 x+a%3*(int)(x+y)%2/4的值为( )。其中,x=3.5,a=7,y=4.7。A 2.500000 B 3.500000 C 3.000000 D 4.50000024设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=3;则执行表达式(m=a>b)&&(n=c>d)后,n的值为( )A 1 B 0 C 3 D 425以下程序段运行后i的值为( )。 int i=0,c=1;switch(c) case 1: i+=2;case 2: i+=1; break; default:i+=4; A 3 B 7 C 1 D 426若有以下定义及语句,则对数组a元素正确引用表达式是( )int a34;int (*p)4=a;A p+1 B *(p+2) C *(p+2)1 D *(*p+1)27以下程序的输出结果为( )。main( ) char s140="country",s220="side"int i=0,j=0; while(s1i!='0') i+; while(s2j!='0') s1i+=s2j+;s1i=0; printf("%sn",s1); A side B country C sidetry D countryside28有如下函数调用语句:sum(r1,r2+r3,(r4,r5);则含有的实参个数是( )。A 3 B 5 C 4 D 有语法错29有如下函数: int f(int a) auto int b=0; static int c=3;b=b+1;c=c+1;return(a+b+c);如果有int i,j; ,则执行两次调用i=f(3);j=f(3)后,i,j值为( )A 7,7 B 7,8 C 8,9 D 8,730设有说明 int (*ptr)();其中标识符ptr是( )。A 是一个指向整形变量的指针 B 是一个指针,它指向一个函数值是int的函数 C 是一个函数名 D定义不合法31.常数的书写格式决定了常数的类型和值,0x1011是( )A.8进制整型常量 B.字符常量C.16进制整型常数 D.2进制整型常数32. 执行下列程序后, a值为: ( )int a, b; a = 15 ; b = 12; a = (a- = b+) ? a%5 : a/5; (A) 0 (B) 2.8 (C) 4 (D) 2 33 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )(A) 地址传递 (B) 单向的值传递(C) 由实参传给形参,再由形参传给实参 (D)传递方式由用户指定34有如下程序段int *p,a,b=1;p=&a;*p=10;a=*p+b; 执行该程序段后,a的值为( )(A) 12 (B) 11 (C) 10 (D) 编译出错35已知char和int类型分别占1和2个字节,则sizeof(yy) 的返回值应为: ( )union char a1; int a2; int a3; yy; (A) 2 (B) 4 (C) 5 (D) 定义有错 36设j为int型变量,下列for循环语句的执行结果是( )for( j=10;j>3;j-) if (j%3) j-;-j; -j;printf(“%d”,j); (A) 6 3 (B) 7 4 (C) 6 2 (D) 7 4 137.宏定义"define p(x,y,z) x=y*z;"的宏替换"p(a,x+5,y3.1)"应为( )A. a=x+5*y3.1 B. a=(x+5)*(y3.1);C. a=x+5*y3.1 D. a=(x+5)*(y3.1)38.下列各语句定义了数组,其中一个不正确的是( )A. static int a5,b23;B. char no30,rec30,6;C. int x =2,4,6,8,10;D. int x10=1,2,3,4,5;39、以下是合法的C语句的是( )A)a=1 B)printf(“hello”); C)a=int(i); D)i+ j+;40.一个C程序由若干个C函数组成,各个函数在文件中的书写位置为( )(A) 任 意 (B) 第一个函数必须是主函数,其他函数任意(C) 必须完全按调用顺序排列 (D) 其他函数必须在前,主函数必须在最后41. 以下选项中合法的字符常量是( ) A. “B”B. 010 C. 68D. D42.若有以下定义,则表达式的值为3的是( )int k=7,x=12; A. x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(x%=5)43.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是 ( ) A. 1 B. 2 C. 2.0D. 2.544.判断字符变量c的值为数字(0-9)则返回1,否则返回0,可用表达式( ) A. 0<=c<=9 B. 0<=c&&c<=9 C. 0<=c|c<=9 D. 9>=c>=045.有如下程序,该程序的执行结果是( ) main() int n=9;while(n>6) n-; printf(“%d”,n); A. 987 B. 876 C. 8765 D. 987646.若有以下的定义及语句,则对数组元素正确引用的表达式是 ( ) int a54; int (*p)4=a;A. p+1B. *(p+3) C. *(p+1)+2D. *(*(p+3)+2)47.有如下函数,调用f(“1234”)的返回值为( ) int f(char *s) int k=0; while(*s) k=k*10+*s+-0; return k;A. “1234” B. 1234 C. “4321” D. 432148.对于以下程序段,运行后i的值为( ) enum WEEK1,2,3,4,5,6,7; enum WEEK a=1; int i=0; switch(a) case 1: i=2; case 2: i=3; default: i=4; A. 2 B. 0 C. 3 D. 449.执行下列程序后变量i的值应为( ) #define TA(x,y) (x)*y) int i=3; i=TA(i,i+1)+2;A.15 B. 10 C.12 D. 1450. 变量a所占内存字节数是( ) union U char st4; int i; long l; ; struct A int c; union U u; a;A. 4B. 5 C. 6D. 851.下列字符串不是标识符的是( ) sum B. Average C. Day_night D. M.D.JOHN52. 在C语言中,回车换行符是( ) n B. t C. v D. b53. 在C语言中,语句和数据定义是用( )作为结束标记的A句号 B逗号 C.分号 D括号54.设有如下定义:int x=10,y=5,z;则语句printf(“%dn”,z=(x+=y,x/y);的输出结果是( )A0 B1 C.3 D455.以下程序的输出结果是( )main( ) char c1=a, c2=A;printf(“%c,%c,%d,%dn”, c1, c2,c1,c2);A因输出格式不合法,输出出错信息Ba,A,97,65 C.65,97,A,a Da,A,a,A56. 完成C源文件编辑后经过编译、连接,生成文件扩展名为( )的可执行文件。 A. .cB. .exe C. .objD. .txt57.下列运算符优先级最高的是( )A. > B. + C. && D. !=58.一个C程序的执行是从( )A本程序中的main函数开始,到main函数结束B本程序中的第一个函数开始,到本程序中的最后一个函数结束C.本程序中的main函数开始,到本程序中的最后一个函数结束D本程序中的第一个函数开始,到本程序中的main函数结束59.以下叙述中正确的是( )A. 构成C程序的基本单位是函数B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前 D. 所有被调用的函数一定要在调用之前进行定义60.设a和b均为double型常量,且a=5.0、b=2.0,则表达式(int)(a/b)的值是( )A. 2.5 B. 2.000000 C. 2.500000 D. 261.取模运算符“%”不能用于哪一种类型的运算( )A.X=10%3 B.X=6%3 C.X=1024%1 D.X=6.28%3.1412.下列对变量的定义哪个正确( )A. int x, int y; B. char s1,s2 C. float a,b; D.char if;63.字符串“HELLO!”的长度是多少?在内存中占用多少单元数?( )A.长度为6,占6个单元 B. 长度为6,占7个单元 C.长度为7,占7个单元 D. 长度为7,占6个单元64.下列错误的赋值语句是( )A.X=Y+=1; B.X=3*4; C.X=F-A D.X=2*(+I);65.如果:a=5;b=6;那么:a>=b&&(a+5)>=(b-3)和a>b|a!=b的值各是多少( )A.0,0 B.0,1 C.1,0 D.1,1以下( )是C语言提供的合法数据类型关键字A) Float B)ChAR C) Intger D) unsigned 以下选项中合法的字符常量是( )A)“B” B) 010 C) 68 D) D设正x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是( )printf(”%d,%dn”,x-,-y);A) 10,2 B) 9,3 C) 9,2 D)10,3下列字符串不是标识符的是( ) A.YEAR B. Average C. stUDENT D. 7_num66. 以下选项中合法的字符常量是( ) A. “B”B. 010 C. 68D. D67.若有以下定义,则表达式的值为3的是( )int k=7,x=12; A. x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(x%=5)68.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是 ( ) A. 1 B. 2 C. 2.0D. 2.569.判断字符变量c的值为数字(0-9)则返回1,否则返回0,可用表达式( ) A. 0<=c<=9 B. 0<=c&&c<=9 C. 0<=c|c<=9 D. 9>=c>=070.有如下程序,该程序的执行结果是( ) main() int n=9;while(n>6) n-; printf(“%d”,n); A. 987 B. 876 C. 8765 D. 987671.若有以下的定义及语句,则对数组元素正确引用的表达式是 ( ) int a54; int (*p)4=a;A. p+1B. *(p+3) C. *(p+1)+2D. *(*(p+3)+2)72.有如下函数,调用f(“1234”)的返回值为( ) int f(char *s) int k=0; while(*s) k=k*10+*s+-0; return k;A. “1234” B. 1234 C. “4321” D. 432173.对于以下程序段,运行后i的值为( ) enum WEEK1,2,3,4,5,6,7; enum WEEK a=1; int i=0; switch(a) case 1: i=2; case 2: i=3; default: i=4; A. 2 B. 0 C. 3 D. 474.执行下列程序后变量i的值应为( ) #define TA(x,y) (x)*y) int i=3; i=TA(i,i+1)+2;A.15 B. 10 C.12 D. 1475. 变量a所占内存字节数是( ) union U char st4; int i; long l; ; struct A int c; union U u; a;A. 4B. 5 C. 6D. 876.以下程序的输出结果是( )main() int a=3; printf(“%dn”,(a+=a-=a*a) );A) 6 B)12 C) 0 D) 1277.下列说法错误的是( ) A.一个c语言程序总是从主函数位置开始执行的 B.一个c语言程序有且只有一个主函数 C.函数可以嵌套定义,不可以嵌套调用 D.程序函数的位置可以任意78.在C语言中,语句和数据定义是用( )作为结束标记的A分号 B逗号 C.句号 D括号79.语句“x*=y+2;”与下列( )语句结果一样 A. x=x*y+2; B. x=2+x*y; C. x=x*(y+2);D. x=y+2*x;80.下列各语句中,能够且仅输出整型变量a、b中最大值的是( ) A. if(a>b) printf(%dn,a);printf(%dn,b); B. printf(%dn,b);if(a>b) printf(%dn,a); C. if(a>b) printf(%dn,a);else printf(%dn,b); D. if(a<b) printf(%dn,a);printf(%dn,b);81.以下程序的输出结果是( )main() int x=4,y=2,z;printf(“%dn”,z=(x-=y,x/y);A0 B1 C.2 D382.以下不能正确定义二维数组的选项是( )A)int a22=1,2; B)int a2=1,2,3,4,5,6;C)int a22=1,2,3;D)int a2=1,2,3,4;83.判断字符变量c的值为数字(09)则返回1,否则返回0, 可用表达式: ( )(A) 0<=c && c<=9 (B)0<=c<=9(C) 0<=c | c<= 9 (D)以上均不是84.设j为int型变量,下列for循环语句的执行结果是( )for( j=7;j>3;j-) if (j%3) j-;-j; -j;printf(“%d”,j); (A) 4 (B) 4 0 (C) 死循环 (D) 4 1 85.已知char和int类型分别占1和2个字节,则sizeof(yy) 的返回值应为: ( )union char a1; int a2; int a3; yy; (A) 2 (B) 4 (C) 5 (D) 定义有错86.以下程序的运行结果是( )# define MIN(x,y) (x)<(y) ? (x) : (y) main() int i=10,j=13,k; k=10*MIN(i,j); printf(“%dn”,k); A )10 B )130 C) 100 D) 1387. 下列字符序列中,不合法的C语言标识符的是( )。Aabc123 Bno.1 C_123_ D_ok88. 以下说法中正确的是( )。 AC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main( )函数中定义CC语言程序总是从main( )函数开始执行DC语言程序中的main( )函数必须放在程序的开始部分89. 设以下变量均为int类型,则值不等于7的表达式是( )。A(m=n=6, m+n, m+1) B(m=n=6, m+n, n+1)C(m=6, m+1, n=6, m+n) D(m=6, m+1, n=m, n+1)90. 当调用函数时,实参是一个数组名,则向函数传送的是( )。A. 数组的长度 B. 数组的首地址C. 数组每一个元素的地址 D. 数组每个元素中的值91. 下列程序运行的情况是( )。main() int i=1,sum=0;while(i<10)sum=sum+1,i+;printf("i=%d,sum=%d",i,sum);A. i=2,sum=1 B.i=9,sum=9 C. i=10,sum=9 D.运行出现错误92. 设x、y和z都是int类型变量,且x=3,y=4,z=5,则下面的表达式中,值为0的表达式是( )。 Ax && y Bx<=y Cx|y+z && y-z D!(x<y)&&!z|1)93. 以下程序的输出结果是( )。main() int n=4;while (n- -)printf(%d,- -n);A.20 B.31 C.321 D.21094. 以下对一维整型数组a正确定义的是( )。 A.int a(10); B. int n=10,an;C.int n; D. #define SIZE 10 scanf("%d",&n); int aSIZE;int an; 95. 若定义如下变量和数组: int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )。for(i=0;i<3;i+) printf("%d ",xi2-i);A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 996. 有下列程序输出结果是( )。#include <stdio.h>main()unionint k; char i2; *s,a; s=&a; s->i0=0x39; s->i1=0x38; printf("%xn",s->k); A. 3938 B. 3839 C.380039 D.39003897.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译B.编译、连接 C.连接、运行D.运行98.下列说法错误的是( ) A.一个c语言程序总是从主函数位置开始执行的 B.一个c语言程序有且只有一个主函数 C.函数可以嵌套定义,不可以嵌套调用 D.程序函数的位置可以任意99.C语句“x*=y+2;”还可以写作( ) A. x=x*y+2; B. x=2+y*x; C. x=x*(y+2);D. x=y+2*x;100.下列格式符中,可以用于控制输出十进制整数的是( ) A. %dB. %f C. %oD. %c101.下列各语句中,能够且仅输出整型变量a、b中最大值的是( ) A. if(a>b) printf(%dn,a);printf(%dn,b); B. printf(%dn,b);if(a>b) printf(%dn,a); C. if(a>b) printf(%dn,a);else printf(%dn,b); D. if(a<b) printf(%dn,a);printf(%dn,b);102.执行语句“for(i=1;i<=10;i+) s+=i;”后,变量s、i的当前值是( ) A. 55,11B. 55,10 C. 45,10D. 45,11103.下列各语句定义了数组,其中一个不正确的是( ) A. int a5,b23; B. char no30,rec; C. int x =2,4,6,8,10; D. int x10=1,2,3,4,5;104.下列算法的特性,其中哪一个是不正确的( ) A. 有穷性B. 有一个或多个输入 C. 不确定性 D. 可执行性105.执行语句“for(i=0;i<10;+i,+a)scanf(%d,a);”试图为int类型数组a10输入数据,是错误的。错误的原因是( ) A.变量不能做自增运算B.数组首地址不可改变 C.+i应写作i+D.+a应写作a+106.定义函数时,缺省函数的类型声明,则函数类型取缺省类型( ) A. voidB. char C. floatD. int二、填空题1.设int a=5, c=32;float b=2.5;,表达式b+c/a的值为_8.5_ _。2.若x和a均是int型变量,则计算x=(a=4,6*2)后x的值是 12 _。3.设a=3,b=4,c=5。则a+b>c&&b=c的值为 0 _。4.有如下程序段:int k=10;while(k=0) k=k-1;则循环体语句执行_0 次。5.int i=0,s=0;while (i<n) s+=i+;等价于 int i,s;for(_i=0_;_i<n_;_s+=i+_);6.将p说明为字符数组指针,数组大小为10,应写为_char

    注意事项

    本文(贵州大学c语言 试卷.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开