C语言程序设计 海滨学院期末考试试卷(2010-2011 第二学期)(B)
历年专升本考试试题:C语言程序设计(B卷)

《C语⾔程序设计》试卷 B卷注意:答案请填写在答题纸上!⼀、填空題(每空1分,共20分)1. 是C程序的基本单位,⼀个C程序总是从开始执⾏。
2.C语⾔规定标识符只能由字母、和 3种字符组成,且第⼀个字符必须为字母或。
3.计算机科学家沃思提出的⼀个公式:数据结构+=程序4.Turbo C++中,若有语句:unsigned int a;则a的范围是0~5.C中的转义符“\r”表⽰:。
6.表达式 21 / 4 的值为。
7.C语⾔中没有专门的字符串变量,如果想将⼀个字符串存放在变量中以便保存,必须使⽤。
8.已知a=12.789,则表达式 (int)a 的值为。
9.表达式 3 | 2 的值是。
10.若a=5,经a-=3;后a= 。
11.已知ch='a',则表达式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值为。
12.C中定义符号常量E为2.71828的宏命令是。
13.函数形参和调⽤的实参是数组名时,参数按⽅式进⾏传递。
14.C中按位与运算符是、按位异或运算符是、按位或运算符是。
15.定义⼀个结构变量,共三个成员分别是字符型、整形和浮点型,则该结构体变量所占内存长度为个字节。
⼆、单项选择题(每题2分,共40分)1.下列C语⾔标识符中,不合法的是……………………………………………()A. mynameB. WendC. sumD. student2.欲从键盘给整型变量a赋值3,b赋值2,则对应语句 scanf("a=%d,b=%d",%a,&b); 的输⼊格式是……………………………………………………………………()A. 3 2B. a=3 b=2C. a=3,b=2D. a=b=3,23.C语⾔源程序⽂件后缀名是……………………………………………………()A. .exeB. .objC. .batD. .c4.结构化程序设计的三种基本结构是…………………………………………()A. 顺序结构、复杂结构、循环结构B. 顺序结构、分⽀结构、循环结构C. 顺序结构、分⽀结构、选择结构D. 顺序结构、复杂结构、分⽀结构5.以下表达式中,值为0的是……………………………………………………()A. 15%5B. 15/5.0C. 15/5D. 15>56.设下列表达式中所涉及的变量均已正确定义,则不符合C语⾔语法的是…()A. 4||3B. a+=4C. a=3,b=5D. char(65)7.设变量定义为【int a[3]={1,3,5}, *p=a+1; 】,则*p的值是………………()A. 2B. 3C. 4D. a+18.在C 语⾔程序中,在函数内部定义的变量称为………………………………()A. 全局变量B. 外部变量C. 全程变量D. 局部变量9.经过以下的变量定义后,正确的表达式是……………………………………() struct node {char s[10];int k;} p[4];A. p->k=21B. p[0]->k=21C. p(0)->k=21D. p->s="Mary"10.若变量c为char类型,则能正确判断出c为⼤写字母的表达式是…………()A. (c>= 'A')||(c<= 'Z')B. 'A'<=c<= 'Z'C. (c>= 'A')&&(c<= 'Z')D. ('A'<=c)and ('Z'>=c)11.C语⾔中以“只写”⽅式打开⽂件,应选择的参数是…………………………()A. oB. wC. aD. r12.变量定义为【int a[2][3]={1,2,3,4,5,6}, *p=&a[1][0]; 】,则p的值是()A. 数组a的⾸地址B. 数组a的第1个元素的地址C. 数组a的第“1”⾏第“0”列的地址D. 数组a的第“1”列的⾸地址13.⽤链表表⽰线性表的优点是…………………………………………………()A. 便于插⼊和删除操作B. 花费的存储空间较顺序存储少C. 便于随机存取D. 数据元素的物理顺序与逻辑顺序相同14.结构化程序设计主要强调的是………………………………………………()A. 程序的规模B. 程序设计语⾔的先进性C. 程序结构的规范化D. 程序的效率15.以下表达式中,不正确的浮点数常量是……………………………………()A. 2e2B. 2.2C. 2c2D. 2E216. 若【int x=12,*p=x;】,则正确的赋值表达式是……………………………()&n b s p ; A . p = * &a m p ; x &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; B . * p = &a m p ; x / F O N T > / p > p > F O N T s i z e = 3 > &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; C . &a m p ; p = x &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ;&n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; &n b s p ; D . * p = x / F O N T > / p > P a l i g n = l e f t >。
《c语言程序设计》试卷B答案及解析

C语言程序设计期末试题B及答案

C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。
不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。
C语言程序设计试题AB卷及标答2010年

2010—2011学年度第二学期期末考试《C语言程序设计》试题A卷09年级 90分钟2011年6月一、用C语言描述下列命题(每小题2分,共8分)1、a小于b或a小于c。
2、a或b其中之一小于c。
3、a和b中有一个是奇数。
4、无条件循环(while)。
二、填空(每小题2分,共10分)1、(FF)H =()2。
2、若一个二进制数的原码是X原=10010011,则反码是X反=()。
3、a+=a-=a*=a ( )。
4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、()。
5、C函数结尾处,一般有return语句,其含义是()。
三、读程序,写出其结果(每小题5分,共10分)1、程序代码如下,结果是()。
#include <stdafx.h>int main(int argc,char *argv[]){int a=10,b=20;printf("%d",a>b?a:b);return 0;}2、程序代码如下,结果是()。
#include <stdafx.h>int main(int argc,char *argv[]){int i=8,j=10,m,n;m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);return 0;}四、程序填空(每空4分,共12分)输出杨辉三角形(要求输出10行)。
11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1……程序如下:#include "stdafx.h"int main(int argc, char* argv[]){int a[10][10];//构建杨辉三角形for(int i=0; i<10; i++){①;a[i][i]=1;}for( ②; i<10; i++)for(int j=1; j<i; j++)a[i][j]= ③;//以下是输出杨辉三角形for(i=0; i<10; i++){for(int j=0; j<=i; j++)printf("%5d ", a[i][j]);printf("\n");}return 0;}五、程序改错(在答题纸上写出改正后的语句)(共10分)下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。
C语言程序设计期末考试题及答案

} ;++x } ;++x ;eunitnoc )2%j(fi { )++j;3=<j;0=j(rof ;++x { )++i;2<i;0=i(rof ;0=x,j,i tni { )(niam >h.oidts< edulcni # �是果结行运的序程面下�61 } ;)d,"n\d%"(ftnirp ;++a=+d ;)a(nuf ;3=a nti { )(niam } ;)d,"d%"(ftnirp ;++p=+d ;5=d tni { )p tni( nuf ; l1=d tni 44)D 59)C 99)B 48)A 是果结出输,后行运序程下以�51 } ;)a,"n\d%"(ftnirp ;m&==1p=a ;m&=2p*,k&=1p*,6=m,4=k,a tni { )(niam 值定无 a,错出时行运)D 0)C 1)B 4)A 是值的 a 后行执序程下以�41 } ;))b+a(S,"n/fl.4%"( ftnirp ;2=b,1=a tni { )(niam x*x*tp )x(s enifid # 5.5 TP enifed # edulcni # 0.54�D 0.22�C 5.9 �B 5.94 �A 是果结出输,后行运序程下以�31 ;)2v,1v,"n\d%,d%"(ftnirp }
;)]cgra[vgra,"s%"(ftnirp )0>cgra--(elihw { ))][vgra* rahc ,cgra tni (niam HGFEDCBALKJI )D LKJIHGFEDCBA )C LHJI )B GFEDCBA )A 为果结出输则�>车回<LKJI HGFEDCBA GORP �入键下符示提 SOD 的录目在 所件文行执可此在果如�EXE.GORP 件文行执可成生后接连和译编经序程下以定假 �02 EGAUGNAl c )D EGAUGNAL C )C egaugnal c )B egaugnaL C )A �是果结行运的序程面上 } ;)c,”c%“(ftnirp fidne # ;23+c=c )’Z’=<c&&’A’=>c(fi esle # ;23-c=c )’z’=<c&&’a’=>c(fi RETTEL fi # ;++i { ’0\’=!)]i[rts=c((elihW ;0=i ;i tni ;c,”egaugnaL C”=]02[rts rahc { )(niam 0 RETTEL enifed # �序程读请�91 0)D 3)C 2)B 1 )A 为值的 n,后)d>c=n(&&)b>a=m(:式达表行执则 ;2=n,2=m,4=d,3=c,2=b,1=a tni :义定下如有设�81 } ;)p*,"n\d%"(ftnirp ;)a,p&( tuf l))tni(foezis(collam)* tni(=p ;p*,}11,9,7,5,3,1{=]3[]2[a tni { )(niam };]1[]1[p=s** { )]3[]2[p tni,s** tni( tuf 11)D 9)C 7 )B 1 )A 是果结出输,后行运序程下以�71 21=x)D 6=x)C 8=x)B 4=x )A } ;)x,”n\d%=x“(ftnirp
c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。
大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
c语言程序设计期末考试试卷(B)

{
int x[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
*(*(x+i)+j)/=*(*(x+i)+i);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++) printf("%3d",*(*(x+i)+j));
则以下叙述中正确的是C。
A、ptr是指向一维组数的指针变量
B、ptr是指向int型数据的指针变量
C、ptr是指向函数的指针,该函数返回一个int型数据
D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
重庆邮电大学2006-2007学年第一学期
一、单选题(每题1分共三十分)
1、以下叙述不正确的是D。
4、设有说明;char w;int x;float y;double z;则表达式w-x+z-y值的数据
类型为D。
A、float B、char C、int D、double.
5、能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是B。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
A、203 B、204 C、1a4 D、1a6
22、左移运算:int a=16,c=a<<2;变量c的值是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京交通大学海滨学院考试试题(B 卷)课程名称:C语言程序设计 2010-2011学年第二学期出题教师:计算机教学组专业:班级:姓名:学号:答题说明:本试卷共有六道大题,要求所有解答均写在答题卡上,否则无效。
上交试卷时按照发试卷时候的顺序整理试卷,平铺展开上交。
一、选择题(本题共30道题目,每题1分,共30分)1.以下叙述中正确的是()。
A)C语言比其他语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D)C语言出现的最晚,具有其他语言的一切优点。
2.算法是为解决某特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是()。
A)有零个输入或多个输入 B)高效性C)有穷性 D)确定性3.表达式3.6-5/2+1.2+5%2的值是()。
A)4.3 B) 4.8 C) 3.3 D) 3.84.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()。
A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符5.下列数据中,不合法的C语言实型数据的是()。
A)0.123 B)123e3 C)2.1e3.5 D)789.06.若有说明语句:char c='\72';则变量c()。
A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定7.若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是()。
A)2.500000 B)2.750000C)3.500000 D)0.0000008.下列可用于C语言用户标识符的一组是()。
A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof9.以下不正确的叙述是()。
A)在C程序中,逗号运算符的优先级最低。
B)在C程序中,APH和aph是两个不同的变量。
C)若a和b类型相同,计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
10.设有int x=17;则表达式(x++*1/3)的值是()。
A)5 B)6 C)17 D)1811.以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是()。
A)x/y*z B)x*(1/(y*z))C)x/y*1/z D)x/y/z12.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是()。
A)INPUT x、y、z; B)scanf("%d%d%d",&x,&y,&z);C)scanf("%d%d%d",x,y,z); D)read("%d%d%d",&x,&y,&z);13.以下不合法的字符常量是()。
A)'\018' B '\”' C) '\\' D) ‘\xcc'14.以下叙述中错误的是()。
A)C语句必须以分号结束。
B)复合语句在语法上被看作一条语句。
C)空语句出现在任何位置都不会影响程序运行。
D)赋值表达式末尾加分号就构成赋值语句。
15.设变量已正确定义,则以下能正确计算f = n!的程序段是()。
A) f=0; for(i=1;i<=n;i++) B) f=1; for(i=1;i>=2;i--) f*=i;C) f=1; for(i=n;i>1;i++) D) f=1; for(i=n;i>=2;i--) f*=i;16.s1和s2已正确定义并分别指向两个字符串。
若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是()。
A)if(s1>s2)S; B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;17.若有如下语句,则输出结果()。
int x=3;do{printf("%d\n",x-=2);}while(!(--x));A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环18.以下程序段的输出结果是()。
int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d",d);A)1 B)0 C)非0的数 D)-119.以下能正确定义二维数组的是()。
(A)int a[][3]; (B)int a[][3]=2{2*3};(C)int a[][3]={}; (D)int a[3][3]={{1},{2},{3,4}};20.下列数组定义方式不正确的语句是()。
(A)char x[5];(B)char y[]={‘h’,‘e’,‘l’ };(C)int y[];(D)int x[10]={12,13,14,15};21.若有以下定义和语句,输出结果是()。
char c1='b', c2='e';printf("%d,%c", c2-c1, c2-'a'+’A’);(A)3,M (B)2,E(C)3,E (D)输出项与对应的格式控制不一致,输出结果不确定22.有以下程序, 运行时输入:a<回车> 后,以下叙述正确的是()。
A)变量c1被赋予字符a,c2被赋予回车符。
B)程序将等待用户输入第2个字符。
C)变量c1被赋予字符a,c2中仍是原有字符2。
D)变量c1被赋予字符a,c2中将无确定值。
#include<stdio.h>main(){ char c1='1',c2='2';c1=getchar(); c2=getchar();putchar(c1); putchar(c2); }23.若有定义语句 char p[]={'a', 'b', 'c'}, q[10]={'a', 'b', 'c'}; 则字符串p和字符串q的长度分别为()。
A) 3,不确定 B)3,3 C)不确定,3 D)不确定,不确定24.函数调用过程,如果函数funA调用了函数 funB,函数funB又调用了函数funB,则()。
A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用25.变量的指针,其含义是指该变量的()。
A) 名 B) 值 C)地址 D)一个标志26.若有语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是()。
A)*p=&a; scanf(“%lf”,p); B)*p=&a; scanf(“%f”,p);C) p=&a; scanf(“%lf”,*p); D)p=&a; scanf(“%lf”,p);27.设char *s="\ta\103bc";则指针变量s指向的字符串所占的字节数是()。
A)9 B)5 C)6 D)728.若有定义 int a[5], * p=a; 则对a数组元素的正确引用是()。
A)*&a[5] B)a+2 C)*(p+5) D)*(a+2)29.当说明一个结构体变量时系统分配给它的内存是()。
A)各成员所需内存量的总和 B)结构中第一个成员所需内存量C)成员中占内存量最大者所需内存 D)结构中最后一个成员所需内存量30.以下程序的结果是()。
#include<stdio.h>struct WWW { int X; int Y; };void main( ){ struct WWW A[3]={{7,8},{9,10},{12,13}};int a;a=A[1].X+A[2].Y;printf("%d",a); }A) 17 B) 22 C) 16 D) 21二、填空题(本题共10个空,每空1分,共10分)1.C语言程序的多行注释可以出现在程序中的任何地方,一个注释以作为开始和结束。
2.若有如下定义:int a=1,b=2,c=3; 执行语句 b=(a<4)&&(b<a)&&(c++); 之后,c的值是。
3.若有如下定义:int x=1; float y=7.5; 执行语句:x=3+y/2;之后,x的数据类型是。
4.若定义数组int a[10]={0,1,2,3,4,5,6};,则数组元素a[a[3]+1]的值为,数组元素a[8]的值为。
5.若有定义语句 int x[10] , *p=x ; 在程序中引用数据元素x[i]的四种形是:,,和x[i](假设i已正确说明并赋值)。
6.在C语言中,从作用域角度分,有和全局变量;从变量存在的时间(生存期)来区分,有动态存储和两种类型。
三、判断题(本题共13个题,每题1分,共13分。
对的画对号,错的画叉号)1.在C语言中,以0代表”真”,非0代表”假”。
()2.二维数组可以这样定义:int a[3,4]。
()3.表达式max=(a>b)?a:b的作用是将二者中的较大值赋值给max。
()4.任何函数都必须具有形参。
()5.在c语言中,if可以单独使用。
()6.有数组float a[10],引用数组第6个元素的方法为a[5]。
()7.运行语句int a=0; while(a++) printf(“%d”,a); 可以输出变量a的值。
()8.若有定义:int*p1,*p2;则当p1和p2指向同一变量时关系表达式p1==p2的值为真。
()9.continue语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
()10.C语言中,y=*p;其含义是将p的值赋给y 。
()11.字符串“Cat”小于字符串“Cet”。
()12.数组名可以作函数的参数,传递的是数组的第一个元素的地址。
()13.任何存储类的变量在未赋初值时,其值都是不确定的。
()四、写出程序的运行结果(本题共3道题目,每题3分,共9分)1.有以下程序,运行时输入cadb<回车>,输出结果是。
#include<stdio.h>int main(){char ch; int s1=0,s2=0;while( (ch=getchar())!=’\n’){switch(ch){case ‘a’:s2+=1;case ‘b’:s1+=1;break;case ‘c’:case ‘d’:s1+=1;break;default:s1+=1;s2+=1;}}printf("%d,%d",s1,s2);return 0; }2.有以下程序,运行后的输出结果是。