上海大学C 语言试卷 2000.11_第1页
上海大学C 语言试卷 2000.11_第2页
上海大学C 语言试卷 2000.11_第3页
上海大学C 语言试卷 2000.11_第4页
上海大学C 语言试卷 2000.11_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.上海大学C 语言试卷 2000.11一、基础概念题(30%)1 (3分)写出如下数学式的c 语言表达式2 在下列符号中,选出可以作变量名的符号(在该符号后面打勾) y2k 2ky my_name *p -bcd _next if integer do3 写出下列表达式的值 1 35&57 _ 2 !(210) _ 4 !(24)|(53?0:10) _4 执行下面语句後,打印出什么结果? int x, y, z, w;x=y=z= -1;w=+x&+y|+z;printf(“x=%d, y=%d, z=%d, w=%d”, x, y, z, w);5 执行下列语句後,输出结果是什么?char

2、 x, y, z, w;x=e;y=x+2;z=x-3;w=x-a+A;printf(“x=%c, y=%c, z=%c, w=%c”, x, y, z, w);6 用一个表达式描述下列命题1a小于b或小于c2a和b都小于c3a和b中有一个小于c4,x大于a而小于b7 执行下列语句,写出输出结果。 char *p, s =”abcdefgh”; p=s; printf(“%s”, p+3); 8(3分)执行下列语句,写出输出结果。( strlen( ) 是一个求字符串长度的库函数)printf(“%d”, strlen(“thista078stringn”); 2000-2001年冬季学期试卷

3、一、 概念题 (每小题4分)1 试写出 数学式 的C语言表达式 . 2 设有如下定义 int x = 6; 执行语句 ; 后 请写出 x 的值 . 3. 设有如下定义 int x = 5, y = 6; 请写出: 如下程序段执行后的输出结果 . printf(= %d ,( +x = y+ )|(x = 8)? -x : -y ) ; printf(# %d, %dn, x, y); 4. 请写出: 如下程序段执行后的输出结果 int a; a = -1; a = a | 0377; printf(“ %d %o n”, a, a ); 5. 设有定义 char st80, i, c; 今要求

4、将字符串 “This is a string.” 完整记录于 st中, 试问如下四种输入方法中, 哪些方法能达到这个要求. A. gets( st ); B. scanf( “ %20s ”, st ); C. for( i=0; i16; i+ ) sti=getchar(); sti=0; D. i=0; while( ( c = getchar() ) != n ) sti+ = c; sti=0; 6 请写出: 如下程序段执行后的输出结果 char *alpha5 = “ABCD”, “EFGH”, “IJKL”, “MNOP”, “QRST” ; char *p = alpha; i

5、nt i = 0; while ( i y)?x+:y+;上海大学2001-2002年秋季学期试卷 2001.11一、基础题(30分,每小题3分)1 已知 int a = 5, b = 8; 求表达式 +a / 2 + b- 的值。2 已知 in a5 = 2, 3, 4, 5, 6 ; int *p = a+2; 求表达式 *p*a3 的值。3 写出将实数 x 的小数点后第三位四舍五入的表达式。4 已知有职工结构体数组 struct int num; char name20; per100; 请使用scanf函数写出:输入下标为i的职工的num和name的语句。5 请写出表达式:将整数n(0

6、n9)转化为ASCII字符。6 请写出逻辑表达式:x大于10与y不大于10至少有一个成立。7 写出表达式 (0x1234 & 0xFF) 8 的16进制结果。8 请计算 for ( i = 3; i = 99; i+=5 ) 的循环次数是多少?9 请说明表达式 (x%2) & !(y%3=0) 的逻辑含义。10请简要描述循环体中break 语句 和 continue 语句的主要区别。上海大学20012002年冬季学期试卷 2002.1一、基础题(30分,每小题3分)10 已知 x=10、y=20,写出语句z = +x + y-;运行后变量x、y、z的值。11 求语句 for (i=j=0;i3

7、;j+=i+ );运行后变量i与j的值。12 写出逻辑表达式:x取值100与200之间(不包括100与200)。13 若x=10、y=20,则表达式 x=(y30) 的逻辑结果为真为假?14 已知每个字符占一个字节内存空间,则字符串“Hello”占多少个字节的内存空间?15 已知有一个3行4列的矩阵,要用一个整型二维数组表示,数组名为a,下标从0开始,写出该数组的说明语句。16 已知定义 int x=10,20,30,*p=x+1;写出表达式 *(p-1)*(p+1)的值。17 已知文件类型指针 FILE *ff;写出使用ff以文本方式创建文件C:TEST.TXT的语句。(使用fopen函数)

8、18 求表达式 100 & 200的值。19 已知有定义 double (*f)(double);和语句 f = sin;请说明上述两条语句的含义。上海大学20012002年春季学期试卷2002.5一、基础题(30分,每小题3分)1试计算表达式的值:3*(n=10)/(float)4)。2试写出表达式语句:将n的平方加上1赋值给m。3设n=12,写出语句 printf(“%c%d%c”, A, F-D, n 10 + A);的运行结果。4写出逻辑表达式:n为两位十进制正整数。5若x=10、y=20、z=30,则表达式(xyy)?x+:y+;运行后求各变量的值。7已知定义int a=10, 60

9、, 30;写出语句a0+=a1-=a2;运行后数组的值。8写出语句:printf(“%d”, 3);的运行结果。9已知定义int a10;写出表达式(&a7-(a+1)的值。10已知有函数定义:struct worker *findw(struct worker per,int n);则关于函数返回值,请选出以下正确的描述。A、返回值是一个结构体 B、返回值是一个结构体指针C、返回值是一个整型数组 D、返回值是一个函数指针上海大学2002-2003年秋季学期试卷 2002.11一、基础题(30分,每小题3分)1已知 x=y=z=100,求语句z+=(x+)+(-y) 执行后各变量的值。12已知

10、x=200,计算表达式 (float)5/2+(x+) 的值。3试写出表达式 (0x1234&0xFF) 的16位二进制结果。4请写出逻辑表达式:a与b同时为真,或者a与b同时为假。5请写出表达式:若x大于等于0结果为x+1,否则结果为x-1。6已知有程序段如下(x为整数): x=0; if(a) x=1; else if(b); else x=1; 请问上述程序段与以下那句赋值语句等价: x=a&b; 或x=a|!b; 或x=a&!b; 或x=(a!=0);7已知有语句格式如 for(i=0; i98、8910返回1否则返回0。16已知有学生结构体定义:struct student /* 学

11、生 */int num; /* 学号 */char name20; /* 姓名 */ *p;试写一条printf语句输出指针p所指向学生的姓名。17已知 FILE *fp; int m,n; fp已经用fopen以写方式打开一个文本文件,试写一条语句将变量m与n的值写到文件中。(031)上海大学2003-2004年秋季学期试卷 2003.11一、基础题(20分,每小题2分)1计算表达式的值:(float)15/(int)2.5。2已知 int m=5, n=7; 则执行 m *= n+; 后计算m与n的值。3分别计算表达式的值:10 & 12、10 12。4写出逻辑表达式:a为偶数且b为奇数。

12、5写出算术表达式:实数x小数点后第三位四舍五入。6计算字符串Hello,world的长度。7已知 int a10,*p=a; 计算表达式 (&a8 - &p2) 的值。8写出printf(%u,%d,-2,65530);的运行结果。9写出一个结构体类型定义:结构体名为stuinfo,成员num为整型,成员score为实型。10已知有char *ls=first,second,third;试写出表达式表示字符串second中的字符o。(032)上海大学2003-2004年冬季学期试卷 2004.3一、基础题(20分,每小题2分)1分别计算表达式的值:(float)5/2、(int)5.5/2。2

13、已知 int m=5, n=7; 则执行 m += n-; 后计算m与n的值。3分别计算表达式的值:13 & 12、10 12。4分别计算字符串长度:Hello、Hellon。5写出执行语句:输入整数n、输出整数n。6写出算术表达式:实数x四舍五入为整数。7写出逻辑表达式:判断年份y是否为闰年。 闰年:是400的倍数 或者 是4的倍数且不是100的倍数。8已知有char ls310=first,second,third;试写出表达式表示字符串third中的字符h。9写出一个单链表结点的结构体类型定义:结点名为worker,分量num为整型,分量next为指向下一结点的指针。10已知 int n

14、;FILE *fp; fp已以文本方式打开文件读,试写出语句:从文件fp中读出一个整数到变量n中。(033)上海大学2003-2004年春季学期试卷 2004.6一、基础题(20分,每小题2分)1分别计算表达式的值:1024/10*3.1、1024%10*3.1。2已知 int a=1,b=2,c=3,x; 则执行x = (a+=2)&(-b)&(c=0); 后计算x、a、b、c的值。3分别计算表达式的值:(14 & 11) | 6、(15 =10;i-=3) printf(%d ,i);的运行结果。9已知有char *ls 10=one,two,three,*p=ls2;试写出语句print

15、f(word=%sn,p+1);的运行结果。10已知 int n; FILE *fp; fp已以文本方式打开文件读,试写出语句:从文件fp中读出一个整数到变量n中。(041)上海大学2004-2005年秋季学期试卷 2004.11一、基础题(23分,第1题3分,其它小题2分)1分别计算表达式的值:(200 & 15)、(200 4) & 15、200 15。2分别计算表达式的值:441%(int)41.1、(float)411/(41+(41-4)/4)。3已知 int a=4,b=11,c=41,x; 则执行x =(b2+a+) ? b+400 : c;后,x与a的值分别是多少。4已知 fl

16、oat x=123.456; 分别计算表达式的值:(int)(10*x+0.5)/10.0、x-(int)x5假设对n(n0)个学生按下列方法进行分班:每班k(k0)个学生,最后一个班若不足k人也单独编成一个班。写出表达式表示所编班的个数。685分以上(含)为1档成绩,60分以上(含)85分以下为2档成绩,60分以下为3档,请写出成绩s所对应的档次表达式。7写出逻辑表达式:正整数n是一个三位数。8已知 int a10; 试写出输入语句:输入整数a5。9已知FILE *fp; 试使用fp变量写出语句:以写方式打开文本文件“C:myTest.TXT”。10已知char *pc= Shanghai,

17、 Beijing, Guangzhou ;计算表达式strlen(pc1)*strlen(pc2)与pc04 *(*(pc+2)+2)的值。11已知 struct fs int fz; int fm; x=2,7, 4,9;计算表达式x0.fz*x1.fm+x1.fz*x0.fm和x0.fm*x1.fm的值。(042)上海大学2004-2005年冬季学期试卷 2005.3一、基础题(23分,第1小题3分,其它小题2分)1定义int x=13,y=16,z=10;写出z+=(x+)+(-y);执行后各变量的值。2计算表达式:(float)15/(int)2.5与(int)(2.11*10+0.5

18、)/(float)10*2。3分别判断表达式的真假:1098与109&98。4分别计算八进制165的十进制值和十进制165的十六进制值。5分别计算字符串的长度:“Shanghai”与“C:test.txt”。6设n为正整数,试写出逻辑表达式:n的个位数比十位数大。 7定义char ch; 设ch为小写字母,试写表达式将ch转换为大写字母。8定义int a3; 试写出语句:输入a数组中的三个整数。9写出语句for (i=10;ia4与b+=6。3分别计算字符串的长度:“Computer”与“abc123nmop”。4分别计算表达式的值:43 & 38 与 (43 38) 0)个学生按下列方法进行

19、分班:每班k(k0)个学生,最后一个班若不足k人也单独编成一个班。写出表达式表示所编班的个数。8定义char ch; 写出语句:如果ch为小写字母则将ch转换为大写,否则ch不变。9定义int a10; 写出语句片段:输入a数组中的10个整数。10定义char *pc= Shanghai, Beijing, Guangzhou ;写出语句片段:输出pc数组中的所有字符串,每字符串一行。(051)上海大学2005-2006年秋季学期试卷 2005.11一、基础题(20分,每小题2分)1定义int x=51,y=8; 写出y*=(x+ % 2=0)?10:20;执行后变量x与y的值。2定义int

20、n=5,a=12;写出a+=(n%=3);执行后变量n与a的值。3定义int b=7;float a=2.5,c=4.7;计算表达式b*(int)(a+c)/2与(float)b/(int)a的值。4将二进制10001101分别转化为十六进制和十进制数。5分别写出判断表达式:a小于b或小于c,a和b都小于c。6分别写出表达式:实数x四舍五入为整数,实数x的小数部分。7. 定义int a=9,b=14,c=4; 分别计算表达式(a & !b) | (b=a+c)与(a & b) | c的值。8已知某个月的1日为星期六,该月有n天,试写出表达式计算该月所跨的周数(从星期日至星期六为一周,如n=30

21、时为6周)。9定义char *p10; 试用puts写出语句:输出数组中下标i对应的字符串。10.定义struct student int num;char name20; stu3;试用scanf写出语句:输入下标i对应的num与name信息。(052)上海大学2005-2006年冬季学期试卷 2006.3一、基础题(21分,第1小题3分,其它每小题2分)1定义int x=51,y=26,z; 写出z=(x+ / 2=-y)?10:20;执行后各变量的值。2定义int n=8,a=15;写出a*=(n%=3);执行后变量n与a的值。3定义int b=7;float a=5.2,c=6.3;计

22、算表达式b*(int)(a+c)/2与(float)b/(int)a的值。4将二进制11001000分别转化为十六进制和十进制数。5分别写出判断表达式:a小于b和c,a加b不大于c。6设n为正整数,分别写出表达式:计算n的个位数和十位数。7. 定义int a=5,b=6,c=3; 分别计算表达式!(a & b) | (b=a+c)与(a & b) | c的值。8定义int a10; 写出语句片段:输入a数组中的10个整数。9定义char *p10; 试用gets写出语句:输入数组中下标0对应的字符串。10设从星期日至星期六为一周,星期日用0表示,星期一用1表示,依此类推,星期六用6表示,某个月

23、的天数使用变量n表示,该月1日的星期使用变量d表示,试写出表达式计算该月所跨的周数(如d=6,n=30时为6周)。(053)上海大学2005-2006年春季学期试卷 2006.6一、基础题(21分,第1小题3分,其它每小题2分)1定义int x=3,y=3,z=3; 写出z=(y=10*(x+=3)=60)+28;执行后各变量的值。2定义float x=1453.1672; 分别计算表达式(int)(x+0.5)与(int)(x*100+0.5)/(float)100的值。3定义int a=3,b=5,c=0; 分别计算表达式(a+=2)&(c=0)与!(a2)|(b-=5)|(c=0)的真假

24、。4. 定义int a=12,b=6,c=2; 分别计算表达式 (a & b) | c与(a b) a4和b+=6是真还是假。4. 写出判断表达式:a是b和c的公约数,a是b和c的公倍数。5. 将0x5E转换为二进制和十进制。6. 计算0x5E|0x20和0x5E&(12)的值,结果用16进制表示。7设float x;写出表达式:x四舍五入后的整数值。8设char *pc3;试用puts写出语句:输出字符串pc1。9设int a10,s,i;写出语句片段:计算a数组的累加和至变量s。10设struct student int num;char name20;st;写出printf语句:输出学生

25、st的各个成员分量。要求按num、name的顺序输出,各成员之间使用空格分隔开。(062)上海大学2006-2007年冬季学期试卷 2007.1一、基础题(21分,第1小题3分,其它每小题2分)1定义int x=51,y=26,z; 写出z=(x+ / 2=-y)?10:20;执行后 各变量的值。2定义int b=7;float a=5.2,c=6.3;计算表达式b*(int)(a+c)/2与(float)b/(int)a的值。3设a=b=5,分别判断表达式4a6和+b=6是真还是假。4. 写出判断表达式:x不比y小,x至少比y大6。5. 分别写出表达式:正整数n的十进制个位数和十位数。6.

26、将十进制62转换为二进制和十六进制。7计算62&0x27和620x27的值,结果用16进制表示。8定义int i=0;写出while(i+9) printf(“%d”, i);的执行结果。9定义int a=11,22,33,44,55,66,77,*p=&a2,*q=a+5;写出printf(“%d,%d”,q-p,*q-*p);的运行结果。10定义FILE *fp, 写出以写方式打开二进制文件test.dat的语句。(063)上海大学2006-2007年春季学期试卷 2007.6一、基础题(21分,第1小题3分,其它每小题2分)1定义int x=63,y=36,z=100; 写出z+=(z=

27、x+y)?x+:-y;执行后各变量的值。2定义float x=6.3, y=3.6;计算表达式(int)(x+y)*2与(int)(2*(x+y)的值。3设a=b=6,分别判断表达式4a0,写出表达式求:x四舍五入后和裁去小数后的整数。6分别计算位运算表达式的值:(14 & 13)、(5 & 15)。7分别将二进制01000111与十六进制A8转换为十进制。8写出printf(%05d,%4.2fn,123,123.456);的执行结果。9定义int n;char s81;写出scanf语句,从键盘上输入整数n和字符串s。10. 定义FILE *fp;写出文件相关的语句:关闭fp所指向的文件。

28、(072)上海大学2007-2008年冬季学期试卷 2008.3课程名:程序设计基础(C) 课程号:00863006 学分:5 一、基础题(21分,第1小题3分,其它每小题2分)1以下所有项中哪三项是合法的C语言常量:0xff、78、”0”、018、e20、1e3.4、0。2定义int x,y,z;用C语言表达式描述下述关系:x和y都不小于z; x和y至少有一个大于z。3计算位运算表达式的值,结果用十进制描述:1、033&0x22。4已知字母A的ASCII码值为65,定义char c1=E; int c2=65; 分别写出printf(“%d”,c1); putchar(c2+32);的结果。

29、5定义int x=1122,y=1123; 写出执行表达式x+y?x-:-y后x和y的值。6写出printf(“%3d*%7.2f”, 1234, 456.123); 的结果。7定义int i; 计算for(i=0; i*ib/p-a的值。10定义 char *pc= “Shanghai”, “Beijing”, “Guangzhou” ; int i; 用循环结构写语句分行输出这些字符串。 (073)上海大学2007-2008年春季学期试卷 2008.6课程名:程序设计基础(C) 课程号:00863006 学分:5 一、基础题(21分,第1小题3分,其它每小题2分)1以下所有项中哪三项是合法

30、的C语言变量名:_int、ai、*p、long、Sum、a2.1、“abc”、b12、3s。2设a和b为正整数,分别写出判断表达式:a和b都不是偶数; a和b至少有一个是偶数。3计算位运算表达式的值,结果用十进制描述:100200、100&36。4定义 char s=“12345AbCdE”; 分别写出printf(“%s”, &s4); 和printf(“%c”, *(s+7)+1); 的结果。5定义int x=111, y=112; 写出执行语句x+=x=y-?-y:+x; 后x和y的值。6写出printf(“%d,%u,%x,%o”, -1,-1,-1,-1); 的结果。7定义int i

31、=0; 写出执行语句while(i+4的结果,用十进制表示。 8设有定义int a,b,c; 用表达式描述如下关系:a不比b大但一定要小于c 9设有定义int x=1,y=2,z=3; 写出表达式x=(x=y-)?(z=z+x):(z=z-x)执行后x,y,z的值。10请用for结构改写下面的while循环语句:int j=0;while (j0) case 0: y=1; break; case 1: y=-1; (082)上海大学2008-2009年冬季学期试卷 2009.3一、基础题(21分,第1小题3分,其它每小题2分)1. 定义char a,b; int x; 执行语句scanf(%

32、c%c%d,&a,&b,&x);时从键盘输入12345,请问语句printf(%c,%c,%d,a,b,x)的执行结果是什么?2. 设a和b均为实型变量,且a=5.5、b=2.5,请写出表达式(int)a+b/b和 (int)(a+b)/b的值(小数点后保留2位小数)。3. 定义 int n ,*p1=&n; 假设有赋值语句 *p1=a; p1=b; 请写出变量a和b的定义语句。4. 写出判断表达式:整数x是y的倍数;整数n的个位数与它的十位数相等。5. 若定义int a=3,b=2,c=1; 判断下列两个表达式是真还是假:abc,ab&bc。6.定义char a=0123456789,*p=

33、a+8; 请写出语句printf(%c %s,*p,p-3);的输出结果。 7. 用switch语句改写下列if-else语句: if(m=10) x=0;else if(m=20) x=1;else x=2;8. 请写出下列程序段的输出结果long a=0x1234;a=a&0377;printf(%lx %lon,a,a);9. 设有定义:char *aa2=abcd,ABCD;int i; 请写出语句for(i=0; i2; i+) printf(%c,*(aai+i); 执行后的输出结果。10. 设有变量定义:struct num int x; int y; stu2 = 1,2 ,

34、4,6 ;计算下列表达式的值:sqrt(stu1.x-stu0.x)*(stu1.x-stu0.x)+(stu1.y-stu0.y) *(stu1.y-stu0.y) (083)上海大学2008-2009年春季学期试卷 2009.6一、基础题(21分,第1小题3分,其它每小题2分)1 在下列符号中选出3个合法的C语言标识符: Abc, 123, _char, a*b, static, case, long,INT2假设C语言中一个int型数据在内存中占2个字节,请写出unsigned int 型数据的取值范围。3假设a,b,c分别表示三角形的三个边长,请写出a,b,c能够构成三角形的条件:任意两边之和大于第三边。4假设m是一个2位正整数, 请用一个表达式描述m的逆序整数。比如,m是1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论