2017年韩山师范学院本科插班生《C语言程序设计》试卷
韩师C语言考试模板(含答案)

本学期数本的《C程序设计》的试卷命题情况如下:1、命题范围:第1章~第7章2、题型如下:(1)单项选择题(2)填空题(3)改错题(4)程序阅读题(5)程序完善题(6)编程题3、注意各个章节知识点的均衡。
题例一、单项选择题(每小题X分,总共X分)1.下列程序的运行结果是 C 。
#include <stdio.h>void main( ){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}A、1,1,2B、2,2,1C、2,2,2D、2,2,3解析:选C,因为if((j++||k++)&&i++)中是两个逻辑运算,逻辑运算的执行是只要能判断其真假就行了,不一定要全部执行到,对于第一个逻辑运算&&,(两者都为真才为真,或其中一个表达式为假就为假)首先判断&&左端的表示式,若其为假则无需判断其右的表达式,若其为真则两边表达式都需判断,而&&左面表达式为真,所以&&右面表达式还需判断,所以i++是执行过的,再看(j++||k++),逻辑运算||,两端表达式其一为真就为真,两者为假才为假,由于||左表达式是真所以无需再判断其或的表达式,所以k++不执行,j++执行了。
综上应选C。
2.下列程序的运行结果是 C 。
#include <stdio.h>void main(){int x=5;if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A、4B、5C、6D、73.以下叙述中不正确的是____B_____A、用户定义的函数中可以没有return语句B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C、用户定义的函数中若没有return语句,则应当定义函数为void类型D、函数的return语句中可以没有表达式解析:B)用户定义的函数中可以有多个return语句是对的,执行到哪一个return语句,哪一个语句起作用。
C程序设计专接本校考试题及答案

《C++程序设计》校考试卷(12计算机信息管理)考试形式闭卷考试时间班级学号姓名成绩一.单项选择题(本大题共20小题,每小题2分,共40分)(1)C++源文件的扩展名是( A )(A)cpp (B)c (C)txt (D)exe(2)对于任意一个类,析构函数的个数最多为( B )(A)0 (B)1 (C)2 (D)3(3)使用下列哪个流格式控制符可设置转换基数为十六进制( C )(A)dec (B)oct (C)hex (D)endl(4)下列C++标点符号中表示一条语句结束的是( B )(A)# (B); (C)// (D){(5)下列选项中不是C++关键字的是( C )(A)bool (B)operator (C)intc (D)friend (6)类的私有成员可以在何处被访问( A )(A)本类的成员函数中(B)本类及子类的成员函数中(C)通过对象名在任何位置(D)不可访问(7)下面各项建立string类的对象实例不正确的方式是( D )(A)string str("OK");(B)string str="OK";(C)string str;(D)string str('OK');(8)假定A为一个类,则执行“A one(2), two[3];”语句时共调用该类构造函数的次数是( D )(A)1 (B)2 (C)3 (D)4(9)以下哪个成员函数表示是纯虚函数? ( C )(A)virtual void show(int)(B)void show(int) = 0(C)virtual void show()=0(D)virtual void show(int){}(10)C++源程序文件的扩展名为是( C )。
(A)c (B)cp (C)cpp (D)txt(11)下面关于友元函数描述正确的是( C )。
(A)友元函数是所在声明类的成员函数。
《C程序设计语言》样卷

韩山师范学院2011年专升本插班生考试样卷计算机科学与技术专业高级语言程序设计试卷(A 卷)一、填空题(每空1分,共10分)1._______________________________ C程序的基本单位是。
2._______________________________________ C语言源程序文件的后缀是。
3._______________________________ C语言中的标识符由、口字母组成。
4._________________________________________________________________ 设y为float型变量,执行表达式y=6/5之后,y的值是 ________________________ 。
5._________________________________________________________________ 在C语言中,要求运算量必须是整型的运算符是___________________________ 。
6.如果函数值的类型与返回值的类型不一致时,应该以_____________ 准7.________________________________________________ 已知int a=8,*p=&a;,则*p 的值是________________________________________ 。
8._______________________________________________________________________ 把一些不同类型的数据作为一个整体来处理时,常用______________________ 。
9.______________________________________________ 若x=2,y=3,则x|y<<2的结果是。
专升本C语言程序设计专业考试试题

专升本专业课考试《C语言程序设计》试题卷考生须知:1、考生姓名和准考证号码填写在答题纸密封线左边指定位置;2、考生一律在答题纸上答题,在本试题页上答题无效;3、答题不需要抄写题目,但必须写清题目编号(第几大题第几小题);4、试题、答题纸及草稿纸不准带出考场,离开考场须经监考人员清点;5、考试时间为150分钟;试题满分为150分;6、本试题共5页,5大题(注意反面)。
一.单项选择题(每题2分,共20分)1.对于一个正常运行和正常退出的C程序,以下叙述正确的是______。
A.程序从main函数第一条可执行语句开始执行,在main函数结束B.程序的执行总是从程序的第一个函数开始,在main函数结束C.程序的执行总是从main函数开始,在最后一个函数中结束D.从程序的第一个函数开始,在程序的最后一个函数中结束2.要使下面程序输出1, 2, 34,则从键盘输入的数据格式应为______。
#include <stdio.h>main(){char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}A.1 2 34 B.1, 2, 34 C.'1','2',34 D.12 343.对于以下程序片段,描述正确的是______。
int x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行两次C.循环执行一次D.有语法错误4.以下不能对二维数组a进行正确初始化的语句是______。
A.int a[2][3]={0}; B.int a[][3]={{1,2},{0}};C.int a[2][3]={{1,2},{3,4},{5,6}}; D.int a[][3]={1,2,3,4,5,6};5.以下程序运行后输出结果是______。
C语言程序设计本科C卷及答案

C语言程序设计本科C卷及答案This model paper was revised by the Standardization Office on December 10, 2020题号一二三四五六总分得分考试形式:■闭卷□开卷■笔试□机试答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题 2 分,共 30 分)1 2 3 4 5 6 7 8 9 10C D A B B A D A C C11 12 13 14 15C D A C B1、C语言源程序文件是一个后缀为( )的文件。
(第1章)A) .bas B) .java C) .c D) .pas2、下列哪个图形不属于传统流程图的符号( )(第2章)A) B) C) D)3、下列标识符中,不合法的用户标识符为()。
(第3章)A) a+4B) If C) then D) _1234、下面运算符优先级最高的是()。
(第3章)A) * B) !C) -(减号)D) =5、以下哪个是不正确的转义字符()。
(第3章)A) '\\' B) '077'C) '\0' D) '\n'6、若int n,x=1,y=0,则条件表达式n=x<yx:y的结果为()。
(第4章)A) 0 B) 1 C) 2 D) 表达式错误7、分析以下程序, 下列说法正确的是()。
(第4章)int main() { int i=10,m=0,n=0,k=0;switch(i/10){ case 0: m++;n++;break;case 10: n++; break;default: k++;n++; }printf("%d %d %d\n",m,n,k); }A) 0 0 0 B) 0 1 0 C) 1 1 0 D) 0 1 18、程序段如下:则以下说法中正确的是()。
(第5章)int k=-10; while(k<0) k=k+1;A) while循环执行10次B) while循环执行11次C) 循环体语句一次也不执行D) 循环是无限循环9、下列程序段执行后k值为()。
2017年韩山师范学院本科插班生考试试题《高级程序设计语言》A卷

韩山师范学院2017年本科插班生考试试卷计算机科学与技术专业 高级语言程序设计试卷(A 卷)一、填空题(每空2分,共10分)1.C 程序的基本组成单位是 函数 。
2.当a=1,b=35,c=5时,表达式a!=b>c 的值是 _____ 0 __。
3. 一个C 文件是一个__字节流__流或二进制流。
4. 一个字符数据既可以以字符形式输出,也可以以_ 整形 _形式输出。
5. 若a 是int 型变量,且a 的初值为6,则执行表达式a+=a-=a*a 后,a 的值为 -24 。
二、单项选择题(每题2分,共30分)1.下述程序段的输出结果是(D)。
int x=10;int y=x--;printf("%d,%d",(y++,x),y++);A、9,10B、11,10C、10,9D、9,11逗号运算符:表达式用逗号分开,所以最终的值应该是最后一个表达式的值2.下面各选项中,均是C语言标识符的选项组是(C)。
A、for china toB、void union _342C、long_123 short56 _doD、text.txt _075 _3ew 3.若int k=10;则执行下列程序后,变量k的正确结果是(B)。
main( ){ int k=10;switch(k){ case 9: k+=1;case 10: k+=1;break;case 11: k+=1;default: k+=1}printf(″%d\n″,k);}A、12B、11C、10D、94.在位运算中,操作数每右移一位,其结果相当于(A)。
A、操作数除以2B、操作数乘以16C、操作数除以16D、操作数乘以2左移乘二,右移除以2,都是整除5.以下能对二维数组c进行正确的初始化的语句是(B)。
A、int c[][5]={{1},{},{4}};B、int c[][5]={{1},{2},{4}};C、int c[5][]={{2},{8},{4},{5}};D、int c[5][]={{6},{6},{9}};6、以下程序执行后,sum的值是(A)。
2017年韩山师范学院本科插班生《C语言程序的设计》试卷

2017年韩山师范学院本科插班生考试试卷计算机科学与技术专业高级语言程序设计试卷(A卷)一、填空题(每空1分,共10分)1.一个C程序的执行是从本程序的函数开始。
2.结构化程序的三种基本结构为顺序结构、_________________、_________________。
3.能表示“整型变量x的绝对值小于5”的C语言表达式是________________ (不得使用系统函数)。
4.在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为________________时表示逻辑值“真”。
5.在位运算中,操作数每左移一位(无溢出),其结果相当于操作数____________以2。
6.设有定义FILE *fp; 则关闭fp对应文件的操作语句是。
7.在C程序中,根据数据的组织形式可以可分为___________文件和___________文件。
8.若有定义char s[]="\n123\\"; 则strlen(s)的值为_______;sizeof(s)的值为_______。
二、单项选择题(每小题1.5分,共30分)1.C语言中的标识符只能由字母、数字和下划线,且第一个字符( )。
A.必须为字母B.必须为下划线C.必须为字母或下划线D. 可以是字母或数字或下划线2.设a,b为整型变量,以下合法的表达式为( )。
A. b=a/2B. b=*a+2C. b+a=2D. b=a%2.53.以下选项中能表示合法常量的是A.整数:1,200B.实数:1.5E2.0C.字符斜杠:'\'D.字符串:"\007"4.若有a=4,b=3,c=5,则表达式a<b<c的值为( )。
A. 1B. 表达式不合法C. 0D. 25.下列关于指针变量赋空值的说法错误的是A.当赋空值的时候,变量指向地址为0的存储单元B.赋值语句可以表达为变量名=´\0´;C.赋值语句可以表达为变量名=0;D.一个指针变量可以被赋空值6.下列程序的运行结果是( )。
C语言程序设计试题及答案完整版

C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017年韩山师范学院本科插班生考试试卷计算机科学与技术专业高级语言程序设计试卷(A卷)一、填空题(每空1分,共10分)1.一个C程序的执行是从本程序的函数开始。
2.结构化程序的三种基本结构为顺序结构、_________________、_________________。
3.能表示“整型变量x的绝对值小于5”的C语言表达式是________________ (不得使用系统函数)。
4.在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为________________时表示逻辑值“真”。
5.在位运算中,操作数每左移一位(无溢出),其结果相当于操作数____________以2。
6.设有定义FILE *fp; 则关闭fp对应文件的操作语句是。
7.在C程序中,根据数据的组织形式可以可分为___________文件和___________文件。
8.若有定义char s[]="\n123\\"; 则strlen(s)的值为_______;sizeof(s) 的值为_______。
二、单项选择题(每小题1.5分,共30分)1.C语言中的标识符只能由字母、数字和下划线,且第一个字符( )。
A.必须为字母 B.必须为下划线C.必须为字母或下划线D. 可以是字母或数字或下划线2.设a,b为整型变量,以下合法的表达式为( )。
A. b=a/2B. b=*a+2C. b+a=2D. b=a%2.53.以下选项中能表示合法常量的是A.整数:1,200B.实数:1.5E2.0C.字符斜杠:'\'D.字符串:"\007"4.若有a=4,b=3,c=5,则表达式a<b<c的值为( )。
A. 1B. 表达式不合法C. 0D. 25.下列关于指针变量赋空值的说法错误的是A.当赋空值的时候,变量指向地址为0的存储单元B.赋值语句可以表达为变量名=´\0´;C.赋值语句可以表达为变量名=0;D.一个指针变量可以被赋空值6.下列程序的运行结果是( )。
#include <stdio.h>void main( ){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,37.下列不会构成无限循环的语句或语句组是( )。
A.n=0; B. n=0;do {++n; } while(n<=0); while(1) {n++; }C.n=l0; D.for(n=0, i=l; ; i++) n+=i; while(n); {n--; }8.若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。
A.int a[5]=﹛0﹜;B.int b[]={0,0,0,0,0};C.int c[2+3];D.int i=5,d[i];9.有以下程序main(){ int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i<4;i++) s+=a[i][1];printf(“%d\n”,s);} 程序运行后的输出结果是( )。
A.11 B.19 C.13 D.2010.表达式a+=a-=a=9的值是A.9 B.-9 C.18 D.011.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf(“i=%d,f=%f”,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为( )。
A. 100 765.12B. i=100,f=765.12C. 100,765.12D. x=100 y=765.1212.若有宏定义#define s(m,n) m/n 则s(4+2,2+1)的值为( )。
A. 2B.7C. 6D. 313.若有以下程序段:int x=1,y=2;x=x^y;y=y^x;x=x^y;则执行上述语句序列后,x,y的值分别是( )。
A.X=2,Y=1 B.X=1,Y=2 C.X=2,Y=2 D.X=1,Y=114.若有以下说明和语句:struct student{ int age ; int num ; }std ,*p ; p =&std ;则以下对结构体变量std 中成员age 的引用方式不正确的是( )。
A .std.age B . p->age C .(*p).age D . *p.age 15.语句while(!E);中的表达式!E 等价于( )。
A .E ==0B . E!=lC . E!=0D .E ==116.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和( )等价。
A .k=(a>b)?1:0; B .k=a>b; C .k=a<=b; D .a<=b ? 0 : 1; 17.若有以下定义,则对a 数组元素的正确引用是( )。
int a[5],*p=a ;A. *&a[5]B. a+2C. *(p+5)D. *(p+2)18.有如下语句 int a=10,b=20,*p1,*p2; p1=&a; p2=&b;如图1所示; 若要实现图2所示的存储结构,可选用的赋值语句是( )。
A. *p1= *p2;B. p1=p2;C. p1= *p2;D. *p1=p2;19.下面程序的运行结果是( )。
#include “stdio.h ” void main( ) { int j ,i ,k=0; for (j=50;j<=60;j++){ if (!( k%10))printf(“\n ”); for (i=2;i<j ;i++)if(!(j%i))break ;p1a p2bp1a p2b图1图2if(i>=j-1){ printf(“%d”,j);k++;}}}A.5359 B.5953 C.3595 D.953520.以下可作为函数fopen中第一个参数的正确格式是( )。
A.a:user\files.tet B. a:\user\files.tetC.“a:\user\files.tet” D. a:\ \user\files.tet三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1.int x=1,y=0;switch(x){case 1:switch(y){case 0:printf(“##1##\n”);break;case 1:printf(“**2**\n”);break;}case 2:printf(“$$3$$\n”);}2.int fun(int x,int y,int * p,int * q){*p=x*y;*q=x/y;}void main( ){int a,b,c,d;a=4;b=3;fun(a,b,&c,&d);printf(“%d,%d\n”,c,d);}3.阅读下列程序,执行后的结果是#include “stdio.h”union bb{ long x[2]int y[4];char z[8];}atx;struct aa{ long x[2];int y[4];char z[8];}stx;main( ){ printf(“union bb=%d,struct aa=%d\n”,sizef(atx),sizef(stx));} 4.阅读下列程序,执行后的结果为#include “stdio.h”void main( ){ char str[ ]=“tomeetme”, str1[ ]=“toseeyou”;char *p=str,*p1=str1;int i;for(i=0;i<7;i++)if(*(p+i)= =*(p1+i))putchar(*(p+i));printf(“\n”);}四、阅读程序或程序段,填空(每小题4分,共20分)1....=1)2+)1,()(-(-nnnx+n+x+f+下面fac函数的功能是计算具有上面式子功能的递归函数。
float fac(int n,float x){float f;if(n<=0) {printf(“n<=0,dataerror!”);else if() f=sqrt(1+x);else f=;return(f);}2.下面程序的功能是计算100至500之间有多少个数其各位数字之和是8。
#include <stdio.h>void main(){ int i,s,k,count=0;for(i=100;i<=500;i++){s=0; k=i;while( ) {s=s+k%10;k =;}if(s! =8) continue;else count++;}printf(”%d”,count);}3.下面的程序读入数组元素值,然后以每行4个元素的形式输出。
#define N 20void main(){ int a[N],i;for (i=0; i<N;i++)scanf(“%d”,);for (i=0; i<N;i++){if () printf(“\n”);printf(“%8d”, a[i]);}printf(“\n”);}4.下面程序的功能是:使一个字符串按逆序存放,请填空#include <stdio.h>void main(){ char m,str[60]; int i,j;printf(“input a string:”);gets(str);for(i=0,j=strlen(str)-1;;i++,j--){m=str[i];;str[j]=m;}puts(str);}五、编程题(每小题10分,共20分)注意:程序的易读性非常重要。
如果卷面很乱,或难以读懂,将被扣分。
1.有1、2、3、4 共四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?2. 从键盘输入的整数m 和n (m ≥n ≥0)后,计算下列表达式的值并输出。
)!(!!n m n m y -=要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为float 。