若有以下说明语句
- 格式:doc
- 大小:38.00 KB
- 文档页数:3
2022年北京科技大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、在C语言源程序中,一个变量代表【】。
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、C语言中的标识符可分为关键字、_______和_______3类。
6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
Double x=2.5,y=6.4,z;SWAP(_______);9、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
(每个程序行前面的数字代表行号。
)1 int main()2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k;3 for(k=0;k<10;k++,b++)4 printf("%4d",*b);5 return0;6 }二、选择题11、下面4个选项中,是合法浮点数的选项是。
《Visual C++ 程序设计基础》练习题第一部分面向过程程序设计南通大学计算机科学与技术学院2006年3月第一章VC++语言的基础知识和简单的语句1.C++语言程序由〖C〗组成。
A)子程序B)过程C)函数D)主程序和子程序2.以下各标识符中,合法的用户标识符组为〖D〗。
A)PAd,P#d,b-b,abc,_0123,ssipedB)cin,a10,CPP,float,del_word,signedC)void,max,hiy,<fr>,list,*jerD)a,temp,_isw,INT,keep,wind3.在VC++中,char类型数据占〖A〗个字节,int类型数据占〖C〗个字节,short类型数据占〖B〗个字节,long类型数据占〖C〗个字节,float类型数据占〖C〗个字节,double类型数据占〖D〗个字节。
A)1 B)2 C)4 D)84.以下语句〖B〗。
int a=-2L; cout << a << endl;A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为25.在VC++中,以下语句的输出为〖D〗。
short int k=-1;cout << k << ',' << (unsigned short)k <<endl;A)-1,-1 B)-1,32767 C)-1,32768 D)-1,655356.若有以下说明语句,则该语句〖B〗。
char s='\092';A)使s的值包含1个字符B)说明不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符7.若a,b均为int型变量,为了将10赋给a,将20赋给b,则对应以下cin语句的正确输入方式为〖B〗。
(<CR>代表回车换行,_代表空格)。
cin >> a >> b;A)1020<CR> B)10_20<CR> C)10,20<CR> D)20_10<CR>8.以下语句的输出为〖D〗。
《计算机程序设计基础》习题册计算机程序设计基础_基础知识(一)班级学号姓名成绩一、单选题1.C++源程序文件的默认扩展名为A。
A) cpp B) exeC) obj D) lik2.由C++源程序文件编译而成的目标文件的默认扩展名为C。
A) cpp B) exeC) obj D) lik3.由C++目标文件连接而成的可执行文件的默认扩展名为B。
A) cpp B) exeC) obj D) lik4.编写C++程序一般需经过的几个步骤依次是B。
A)编译、编辑、连接、调试B)编辑、编译、连接、调试C)编译、调试、编辑、连接D)编辑、调试、编辑、连接5.程序中主函数的名字为 A 。
A) main B) MAINC) Main D) 任意标识符6.下面四个选项中,均是不合法的用户标识符的选项的是C。
A) A p_o doB)float lao _AC)b-a goto intD)_123 temp INT7.下列变量名中合法的是C。
A) B)C)Tom B) 3a66C) _6a7b D) $ABC8.存储以下数据,占用存储字节最多的是D 。
A) 0 B) ‘0’C) “0” D) 0.09.在C++语言中,字符型数据在内存中的存储形式是D。
A) 补码 B) 反码C) 原码 D) ASCII码10.若有说明语句:char c =’\072’;则变量c A。
A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定二、填空题1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令计算机程序设计基础_基础知识(二)班级 学号 姓名 成绩一、 单选题1. 下列哪一个是C++语言中合法的变量 CA) 8ZSe B) ±A0C) X0_2 D) ’x0’2. 已知ch 是字符型变量,下面不正确的赋值语句是 A A) ch='a+b' B) ch='\0'C) ch='7'+'9' D) ch=5+93. 下列浮点数的表示中不正确的是▁C ▁▁A) 223. B) 719E22C) e23 D) 12e24. 下列不正确的转义字符是 ▁C ▁▁A)'\\' B)‘\"’C) '074' D) '\0'5. 在C 语言中,合法的字符常量是 ▁B ▁▁A)'\084' B)'\x43'C)'ab' D)"\0"6. 下列变量定义中合法的是▁A ▁▁A) double _a=1.le-1; B) double b=1+5e2.5;C) double do= 2e3D) double 2_and=1-e-3; 7. 已知ch 是字符变量,正确的赋值语句是▁B ▁A )ch=‘123’ B)ch=’\xff’C) ch =’\08’ D)ch =”\” 8. 若x 、i 、j 和k 都是int 型变量,则计算表达式x=(i=4,j=15,k=32 )后,x 的值为▁▁C ▁。
二级C语言笔试-297(总分82,考试时间90分钟)一、选择题1. 设有以下定义和语句:int a[3] [2]=1,2,3,4,5,6, * p[3];p[0] =a[1];则.(P[0]+1)所代表的数组元素是( )。
A. a[0][1]B. a[1][0]C. s[1][1]D. a[1][2]2. 下列选项中,不能用作标识符的是( )。
A. _1234_B. _1_2C. int_2_D. 2_int_3. 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请填空。
#include <stdlib.h>stuct nodechar data; struet node * next; ;stntct node * CreatList(char * s)struet node *h,*p,*q;h = (struct node * ) malloc(sizeof(struct node) );p=q=h;while( * s! ='\0')p = (struct node *) malloc ( sizeof(struct node) );p - >data = ( )q- >next=p;q=p;a++;p- >next ='\0';return h;main( )char str[ ]= "link list";struet node * head;head = CreatList(str);A. *sB. sC. *s++D. (*s)++4. 下列条件语句中,功能与其他语句不同的是( )。
A. if(a) printf("%d \n" ,x); else printf("% d \n" ,y);B. if(a ==0) printf( "% d \n" ,y); else printf( "% d \n" ,x);C. if (a! =0) printf("%d \n",x); else printf("%d \n",y); ,D. if(a==O) printf("%d \n",x); else printf("%d \n",y);5. 以下能正确定义二维数组的是( )。
2022年泰山科技学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。
5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
10、定义语句int*f();int(*f)();的含义分别为_______和_______。
二、选择题11、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
A.intB.floatC.doubleD.不确定12、若有说明语句:charc='\72';则变量c( )。
A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定13、一个C语言程序由( )。
C语言练习题一、单项选择题1.以下选项中合法的标示符是()A.1_1B.1-1C._11D. 1_ _2.若有以下类型说明语句:char a; int b; float c; short int d;则表达式(c*b+a)*d的结果类型是()。
A.charB.intC.doubleD.float3.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为()。
A.算术运算、赋值运算、关系运算B.关系运算、赋值运算、算术运算C.算术运算、关系运算、赋值运算D.关系运算、算术运算、赋值运算4.多重if_else语句嵌套使用时,寻找与else配套的if方法是( )。
A.缩排位置相同的ifB.其上最近的ifC.下面最近的ifD.同行上的if5.有以下程序,其运行后的输出结果是()。
main(){int x=1,y=2;x=x+y,y=x-y; x=x-y;printf("x=%d,y=%d \n",z);}A. 1 2B. 1,2C. 0,1D. 2,1 6.有以下程序,其中%u表示按无符号整数输出main(){unsigned short x=0xFFFF;printf("%u\n",x);}程序运行后的输出结果是()。
A.-1B.65535C.32767D.0xFFFF 7.以下合法的c语言语句是( B )。
A. x=int(x+0.5);B. ++k;C. a=b=0D. a=1,8.下面有关for循环的正确描述是( D ) 。
A. for循环只能用于循环次数已经确定的情况。
B. for循环是先执行循环体语句,后判断表达式。
C. 在for循环中,不能用break语句跳出循环体。
D. for循环的循环体语句,可以包含多条语句,但必须用花括号括起来。
9.有以下程序,其运行后的输出结果是( C )。
main(){int x=1,y=2,z;z= x/y;printf("%d\n",z);}A. 1/2B. 0.5C. 0D. 110.下列对字符串的操作正确的是( C)。
1. True False2. TrueFalse3. True False4. True False5. True False6. True False7. True False8. True False9. True False10. TrueFalse11. TrueFalse12. TrueFalse13. TrueFalse14. TrueFalse15. TrueFalse16. TrueFalse17. TrueFalse18. TrueFalse19. TrueFalse20. TrueFalse选择题(2分A. 0.123B. 123e3C. 2.1e3.5D. 789.0(2分A. 2.500000B. 2.750000C. 3.500000D. 0.000000(2分A. int B. float C. double D. 不确定(2分A. 使s 的值包含1个字符 B. 说明不合法,s 的值不确定 C. 使s 的值包含4个字符 D. 使s 的值包含3个字符(2分A. a:= b+1B. a=b=c+2C. int 18.5%3D. a=a+7=c+b(2分A. trueB. 大于0的数C. 非0整数D. 非0的数(2分A. void, define, WORDB. a3_b3,_123,CarC. For, -abc, IFCase D. 2a, DO, sizeof(2分A. 0<=x<100B. i=j==0C. (char)(65+3)D. x+1=x+1(2分A. 本程序的main函数开始,到本程序的main函数结束B. 本程序的main函数开始,到本程序的最后一个函数结束C. 本程序的第一个函数开始,到本程序的main函数结束D. 本程序的第一个函数开始,到本程序的最后一个函数结束(2分A. 将y的值四舍五入为整数后赋给xB. 将y的整数部分赋给xC. 该语句执行后x与y相等D. 将x的值转换为实数后赋给y(2分A. 160 -0xff 011B. 123.5 01a 0xeC. -01 1,986,012 0663D. -2e3.2 0.234 1e0(2分A. 160. 0.12 e3B. 123.5 2e-4 123.C. -0.18 2e 0e1D. 2e3.20.234 1e0(2分A. '\' '\\' '\n'B. '\\' '\017' '\n'C. '\018' '\f' 'xab'D. '\\0' '\101' 'x1f'(2分A. ,B. 空格键C. Enter键D. Tab键(2分A. 10, 9B. 9, 10C. 10, 10D. 9, 9(2分A. 18B. 16C. 14D. 13(2分A. (double) xB. double(x)C. (double) (x)D. x (double)(2分A. z=(x+y)++B. x+y=zC. y=ch+xD. y=z%x(2分A. char A; //定义了字符型变量AB. int x=2; //定义了x整型变量,其中,x的初值为2C. 如给整型变量j赋初值2004,可写成:int j(2004);D. 变量名中可以包含特殊符号。
C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
C语言程序设计考题(选择题及答案)1)计算表达式:x=(i=4,j=10,k=24)后,x的值为:A. 24B. 38C. 4D. 103)以下哪条语句只能出现在循环结构中,而不能单独出现:A. ifB.gotoC.returnD.continue6)把x,y定义成float类型,并赋同一初值3.14,正确的是:A. float x,y=3.14;B. float x,y=2*3.14;C. float x=y=3.14;D. float x=3.14,y=x;7)若变量已正确定义并赋值,以下哪个表达式不符合C语言语法:A. 3.14%2B. 2,bC. a*b/cD. a/b/c8)以下哪个是不正确的字符常量:A. ‘n’B.’\101’C.’\n’D. “a”9)若有以下说明语句,则对st中成员score的正确引用是struct student{char num[8];int score;} st, *p=&st;A. *p.scoreB. p.scoreC. p->scoreD. *p->score10)若有int i;,则以下循环的执行次数是:for (i=2;i==0;) printf("%d",i);A. 1次B.无限循环C.0次D. 2次11)下列的哪个不是C语言的关键字:A. printfB.switchC.shileD. break12)设有定义char s[20]="hi,HanWeiXYi",*ps=s;;请选出不能正确引用字母a的表达式A. ps[4+1]B.s[4]C.*(ps+=4)D. *(ps+4)13)语句“while(!x)…”等价于A. while(x!=0)B.while(x==1)C.while(x==0)D. while(x!=1)14)下列位运算符中,异或运算的运算符是:A. ^B.~C.|D.&&15)设有下列变量说明与函数说明,则合法的函数调用语句是: int fumc( char s[] );char str[80]; int n;A. n=fumc(str)B. n=fumc(s)C. n=fumc(s[])D. n=fumc(str[80])16)分析以下函数,该函数的功能是:void prt_to_file(int a[],int n,char fn[]){FILE *fp; int i;fp=fopen(fn,"w");for (i=0;i<n;i++)fprintf(fp,"%d ",a[i]);fclose(fp);}A. 打开文件fn,从文件中读出n个整数到数组A中B. 打开文件fn,从文件中读出n,再读出n个整数到数组A中C. 打开文件fn,将数组a的n个元素写到文件中D. 打开文件fn,将n和数组a的n个元素依次写到文件中。
一、选择题
1、若有以下说明语句:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c=’a’,d,g;
则数值为4的表达式是_________。
A、a[g-c]
B、a[4]
C、a[‘d’-‘c’]
D、a[‘d’-c]
2、假设int型变量占两个字节的存储单元,若有定义:
int x[10]={0,2,4};
则数组x在内存中所占字节数为________。
A、3
B、6
C、10
D、20
3、下列合法的数组定义是________。
A、int a[]=”string”;
B、int a[5]={0,1,2,3,4,5};
C、char a=”string”;
D、char a[]={0,1,2,3,4,5};
4、若给出以下定义:
char x[]=”abcdefg”;
char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};
则正确的叙述为________。
A、数组x和数组y等价
B、数组x和数组y的长度相同
C、数组x的长度大于数组y的长度
D、数组y的长度大于数组x的长度
5、下列程序运行后的输出结果是________。
Main()
{int n[3],t,j,k;
for(t=0;t<3;t++)
n[t]=0;
k=2;
for(t=0;t<k;t++)
for(j=0;j<3;j++)
n[j]=n[t]+1;
printf(“%d\n”,n[1]);}
A、2
B、1
C、0
D、3
6、有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;
while(i<7 && p[i]%2) { k =k+ p[i]; i++; }
printf("%d\n", k);
}
执行后输出结果是________。
A、58
B、56
C、45
D、24
7、以下能正确定义一维数组的选项是________。
A、int num[]; B)#define N 100
int num[N];
C、int num[0..100]; D)int N=100;
int num[N];
8、有以下程序
main( )
{ char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是________。
A、7 7
B、8 8
C、8 10
D、10 10
9、若有以下定义语句:
char s[10],s=”abcd”;printf(“%s\n”,s);
则运行结果是_________。
A、输出abcd
B、输出a
C、输出ab cd
D、编译不通过
10、不能把字符串“Hello!”赋给数组b的语句是________。
A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’};
B、char b[10];b=”Hello!”;
C、char b[10]; strcpy(b,”Hello!”);
D、char b[10]=”Hello!”;
二、填空题
1、观察一下程序,在指定行加上注释,并说出程序的执行结果。
main()
{ int i,a[10]; _________
for(i=0;i<10;i++)
{ a[i]=3*i+1; _________
printf(“%5d”,a[i]);
}
printf(“\n”);
for(i=9;i>=0;i--,i--)
{ if(a[i]%2==0) printf(“%5d”,a[i]); _________
}
}
程序结果:________
2、以下程序的输出结果是________。
main()
{ char s[]="abcdef";
s[3]=‘\0';
printf("%s\n",s);
}
3、以下程序的输出结果是________。
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]);
}
4、下列程序段的输出结果是________。
main()
{ char b[]=”Hello,you”;
b[5]=’\0’;
printf(“%s\n”,b);
}
5、若想通过以下输入语句使a中存放字符串“1234”,b中存放字符“5”,则输入数据的形
式应该是_______。
char a[10],b;
scanf(“a=%s,b=%c”,&a,&b);
三、编写程序
1、写一个函数,将一个整型数x插入到由小到大排列的整型数组a[0]~a[N-1]中,使得插入
元素后的数组a[0]~a[N]保持升序。
2、将两个字符串连接起来(不用strcat)。
3、随机产生N个(N由用户定义)0~9之内的整数,分别统计数字0和9出现的次数。
4、键盘输入某串,求字符ASC码之和。