上海大学程序设计基础(C)07-08冬试卷及答案

合集下载

C技术基础试题(5套试卷含答案)

C技术基础试题(5套试卷含答案)

C技术基础试题(5套试卷含答案)(word版可编辑修改)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C技术基础试题(5套试卷含答案)(word版可编辑修改))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C技术基础试题(5套试卷含答案)(word版可编辑修改)的全部内容。

using System;class Test{public static void Main (){int[ ] a ={2,4,6,8,10,12,14,16,18};for (int i=0; i<9; i++){Console.write(“ ”+a[i]);if ((i+1)%3==0) Console。

writeLine(); } }}答案:2 4 68 10 1214 16 183。

写出以下程序运行结果。

using System;class Test{public static void Main (){int s=0;for (int i=1; ; i++) {if (s〉50) break;if (i%2==0) s+=i;}Console.writeLine (”i, s=" + i + "," + s);} }答案:i,s = 15, 564. 写出以下程序运行结果。

using System;class Test{static void LE(ref int a, ref int b) {int x = a;a = b;b = x;Console。

writeLine (a + “ “ +b);}public static void Main (){int x=10, y=25;LE(ref x, ref y);Console。

C语言及程序设计课程试卷答案

C语言及程序设计课程试卷答案

C语言及程序设计课程试卷答案在这里,我提供一份C语言及程序设计课程试卷的答案,总字数超过题目要求的1800字。

答案按照题目的序号和分值进行陈述,以便您更好地阅读。

一、选择题(每题5分,共20题,共100分)1. D2. A3. B4. C5. D6. C7. B8. A9. D 10. B11. C 12. A 13. D 14. B 15. C16. A 17. B 18. D 19. C 20. A二、判断题(每题5分,共10题,共50分)1. 错2. 对3. 对4. 错5. 错6. 对7. 错8. 错9. 对 10. 对三、填空题(每题10分,共5题,共50分)1. const2. printf3. NULL4. continue5. break四、编程题(共3题,每题100分,共300分)题目一:```c#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 100; i++) {if (i % 3 == 0 && i % 5 == 0) { continue;}sum += i;}printf("Sum: %d\n", sum);return 0;}```题目二:```c#include <stdio.h>int fibonacci(int n) {if (n == 0) {return 0;}else if (n == 1) {return 1;}else {return fibonacci(n - 1) + fibonacci(n - 2); }}int main() {int n, i;printf("Enter the number of terms: ");scanf("%d", &n);for (i = 0; i < n; i++) {printf("%d ", fibonacci(i));}return 0;}```题目三:```c#include <stdio.h>int main() {char string[100];int i, count = 0;printf("Enter a string: ");fgets(string, 100, stdin);for (i = 0; string[i] != '\0'; i++) {if (string[i] == 'a' || string[i] == 'e' || string[i] == 'i' || string[i] == 'o' || string[i] == 'u' || string[i] == 'A' || string[i] == 'E' || string[i] == 'I' || string[i] == 'O' || string[i] == 'U') {count++;}}printf("Number of vowels: %d\n", count);return 0;}```以上就是C语言及程序设计课程试卷的答案部分。

《C语言程序设计基础》期中期末试卷及答案

《C语言程序设计基础》期中期末试卷及答案

《C语言程序设计基础》试卷及答案《C程序设计基础与实验》期中、期末试卷及答案目录2009 - 2010学年第二学期期中考试试卷 (1)2009 - 2010 学年第二学期期中考试答案 (8)2008 - 2009学年第二学期期中考试试卷 (9)2008 - 2009学年第二学期期中考试答案 (18)2007 - 2008学年第二学期期中考试试卷 (20)2007 - 2008学年第二学期期中考试答案 (27)2009 - 2010 学年第二学期期末考试试卷 (29)2009 - 2010 学年第二学期期末考试答案 (37)2008 - 2009学年第二学期期末考试试卷 (39)2008 - 2009学年第二学期期末考试答案 (48)2007-2008学年第二学期期末考试试卷 (50)2007-2008学年第二学期期末考试答案 (58)2009 - 2010学年第二学期期中考试试卷《C语言程序设计基础及实验》开课单位:计算分院;考试形式:闭卷;考试时间:_2010__年_ 4 _月;一、单选题2、表达式:(int)((double)9/2)-(9)%2的值是(2)。

A、0B、3C、4D、53、若已知int x=20,下列关系表达式条件的值是(3)。

printf("%d ",0<x<20);printf("%d\n",0<x&&x<20);A、0 0B、1 0C、0 1D、1 14、当变量c的值不为2、4、6时,值也为“真”的表达式是(4)。

A、(c==2)‖(c==4)‖(c==6)B、(c>=2&&c<=6)‖(c!=3)‖(c!=5)C、(c>=2&&c<=6)&&!(c%2)D、(c>=2&&c<=6)&&(c%2!=1)5、下列程序段输出的结果是(5)。

大学_C语言程序设计试题及参考答案

大学_C语言程序设计试题及参考答案

C语言程序设计试题及参考答案C语言程序设计试题及答案(一)1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)A.switch(x){case 1.0: printf("__ ");case 2.0 printf("____ ");}B.switch((int)x){case 1.0: printf("__ ");case 2.0 printf("____ ");}C.switch(a+b){case 1: printf("__ ");case 2+1: printf("____ ");}D.switch(a+b){case 1: printf("__ ")case c: printf("____ ");}标准答案:C2. 若有宏定义如下:#define X 5#define Y X+1#define Z Y__X/2则执行以下printf语句后,输出的结果是( )int a; a=Y;printf("%d ",Z);printf("%d",--a); (2分)A.7,6B.12,6C.12,5D.7,5标准答案:D3. 下面的.符号常量定义中,正确的是 ( ) (2分)A.#define PI 3.14;B.#include PI 3.14;C.#define PI=3.14D.#define PI 3.14标准答案:D4. 以下程序的输出结果是( )int a, b;void fun(){ a=100; b=200; }main(){ int a=5, b=7;fun();printf("%d%d ", a,b);} (2分)A.100200B.57C.00D.75标准答案:D5. 若有以下调用语句,则不正确的fun函数的首部是( ) main(){ …int a[50],n;…fun(n, a[9]);…} (2分)A.void fun(int m, int x[])B.void fun(int s, int h[41])C.void fun(int p, int __s)D.void fun(int n, int a)标准答案:D6. 以下程序的输出结果是( )fun(int x, int y, int z){ z=x__x+y__y; }main(){ int a=31;fun(5,2,a);printf("%d",a);} (2分)A.0B.29C.31D.无定值标准答案:C7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)A.auto和staticB.auto和registerC.register和staticD.extern和register标准答案:B8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)A.地址传递B.单向值传递C.由实参传给形参,再由形参传回实参D.传递方式由用户指定标准答案:B9. 以下函数值的类型是( )fun ( float x ){ float y;y= 3__x-4;return y;} (2分)A.intB.不确定C.voidD.float标准答案:A10. C语言规定函数的返回值的类型是由( ) (2分)A.return语句中表达式类型决定B.调用该函数时的主调函数类型决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定标准答案:D11. 若有说明:int i,j=7, __p=i; 则与i=j;等价的语句是( ) (2分)A.i= __P;B.__p=__j;C.i=j;D.i=__ __p;标准答案:B12. 以下程序执行后a的值是( )main(){ int a,k=4,m=6,__p1=k,__p2=m;a=p1==m;printf("%d ",a);} (2分)A.4B.1C.0D.a无定值标准答案:D13. 若有说明:long __p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)A.__p=a;scanf("%ld",p);B.p=(long __)malloc(8);scanf("%ld",p);C.scanf("%ld",p=a);D.scanf("%ld",a);标准答案:A14. 以下程序的输出结果是( )#includeint a[3][3]={1,2,3,4,5,6,7,8,9,},__p;main(){p=(int __)malloc(sizeof(int));f(p,a);printf("%d ",__p);}f(int __s,int p[][3]){__s=p[1][1];} (2分)A.1B.4C.7D.5标准答案:D15. 设已有定义: char __st="how are you"; 下列程序段中不正确的是( ) (2分)A.char a[12], __p; strcpy(p=a+1,st[4]);B.char a[12]; strcpy(++a, st);C.char a[12]; strcpy(a, st);D.char a[12], __p; strcpy(p=a[1],st+2);标准答案:B18. 以下程序的输出结果是_____ B___。

上海交通大学 2007-2008学年 程序设计基础(C++)期末考试试卷(附答案)

上海交通大学 2007-2008学年 程序设计基础(C++)期末考试试卷(附答案)
char *pt3="34";
pt3=pt2;//A
strcpy(pt1, pt2); //B
strcpy(pt2, pt3);//C
cout<<pt2;//D
}
9下列定义或者声明语句哪个是不正确的(D)
A void* f(int a[], int n);
B void* (*f)(int a[], int n);
3写出运行结果:
#include<iostream>
using namespace std;
void foo( int &c){
static a=1;
c+=a++;
}
void main()
{
int a;
int &b=a;
a=10;
foo(a);
cout<<a<<endl;
foo(++b);
cout<<a<<endl;
A break语句只应用于循环体中
B continue语句只应用于循环体中
C break是无条件跳转语句,continue不是
D break和continue的跳转范围不够明确,容易产生问题
4.有如下定义语句:int a[]={1,2,3,4,5};,则对语句int *p=a;正确的描述是(B)。
A语句int *p=a;定义不正确
一、选择填空:(每题1分,共10分)
1.已知各变量的类型说明如下:
inta=1,b=2;
double x=1.42;
则以下不符合C++语言语法的表达式是(D)

C语言题库上海大学

C语言题库上海大学

目录 1.*选择题,常量(命题/审题注:本行信息仅供命题/审题老师检查使用,学生不能看到,下同) ................................................. 2 2. *选择题,逻辑式............................................................................................................................................... ...................................... 2 3.*选择题,字符表达式............................................................................................................................................... ............................... 2 4.*选择题,语句辨析................................................................................................................................................ .................................. 2 5.*选择题,字符数组定义............................................................................................................................................... ........................... 2 6.*选择题,字符串+指针............................................................................................................................................... ............................. 2 7.*选择题,指针............................................................................................................................................... .......................................... 3 8.*选择题,函数声明................................................................................................................................................ .................................. 3 9.*选择题,结构体............................................................................................................................................... ...................................... 3 10.@选择题,文件............................................................................................................................................... ................................... 3 11.*选择题、变量............................................................................................................................................... ..................................... 3 12.*选择题、语句............................................................................................................................................... ..................................... 3 13.@同112-6选择题、链表............................................................................................................................................... .................... 4 14.*选择题、循环............................................................................................................................................... ..................................... 4 15.@选择题,表达式计算................................................................................................................................................ ....................... 4 16.@选择题;位运算............................................................................................................................................... (4)Point=3.7 ..................................................................................................................................... ......................................................................... 7 (2)程序 ................................................................................................................................................ ............................................................ 7 ####### ................................................................................................................................................ .................................................. 8 (3)程序 ................................................................................................................................................ (8)42=2*3*7 .................................................................................................................................... .......................................................................... 8 (4)程序 ................................................................................................................................................ (9)Max:a[3]=50 ............................................................................................................................... .......................................................................... 9 (5)程序 ................................................................................................................................................ ............................................................ 9 Line3: 2 9 8 .................................................................................................................................................. ......................................................... 9 (6)程序 ................................................................................................................................................ . (10)Can_I_help_you? ........................................................................................................................ ........................................................................ 10 (1)程序.......................................................................................................................................................................................................... 11 (2)程序............................................................................................................................................... ........................................................... 12 (3)程序.......................................................................................................................................................................................................... 12 二、基础填空题(10分,每小题2分) ............................................................................................................................................... ........................ 15 三、阅读程序(27分,每小题3分) ............................................................................................................................................... ............................. 15 四、程序填空(18分,每填空2分) ............................................................................................................................................... ............................ 21 一、基础题(21分,第1小题3分,其它每小题2分).............................................................................................................................................23 二、阅读程序(36分,每小题4分) ............................................................................................................................................... ............................. 24 三、改错程序(8分,每错误点2分) ............................................................................................................................................... ........................... 28 四、程序填空(12分,每填空2分) ............................................................................................................................................... .. (29)Sum=21 ....................................................................................................................................... . (157)A .................................................................................................................................................. .................................................................................157 Line Third, ........................................................................................................................................... ......................................................................... 158 Line First ............................................................................................................................................. . (158)SecondLiFirstWang ...................................................................................................................... ............................................................................... 213 2003 WangMin 950...................................................................................................................................................................................................... 221 2011学年春季学期-程序设计基础(C语言)-1/284因临时做的题目,可能有错误,若有错误和疑问,发邮件给我,yinhm@ ....................................................................................... 271 一、单项选择题(15分,每小题1分) ............................................................................................................................................... ...................... 271 一、单项选择题(16分,每小题1分) ...................................................................................................................................................................... 273 1. *选择题,常量(命题/审题注:本行信息仅供命题/审题老师检查使用,学生不能看到,下同)以下选项中正确的C语言常量是________12.34e5 0xEfGh 'XYZ' '\5A' 2. *选择题,逻辑式设int n; 对应“n为二位数(10至99)”的判断表达式是________ 10<=n && n<=9910<=n<=9910<=n || n<=99 10<=n, n<=99 3. *选择题,字符表达式设有定义char c;且c表示一个小写字母,结果为对应大写字母的表达式是________ c - 'a' +'A' c - a + A c - A + a c - 'A' + 'a' 4. *选择题,语句辨析在C语言中,根据一个表达式的值转向多个分支的语句是________ switch语句if-else语句case语句 return语句 5. *选择题,字符数组定义已知一个字符串的最大字符长度为8,要使用字符数组str存放该字符串,以下哪种定义是正确的________ char str[9]; char str[8]; char str; char str(9); 6. *选择题,字符串+指针设有定义char a[]="abcDEF",*p=a+3;则puts(p)的输出结果是________ DEF abcDEF bcDEF cDEF 2011学年春季学期-程序设计基础(C语言)-2/2847. *选择题,指针设有定义int m, n, *p;与语句“m=n;”等价的语句是________ p=&n; m=*p; p=&m; n=*p; p=*n; m=*p; p=*m; n=*p; 8. *选择题,函数声明以下选项中,合法的函数说明语句是________ void func( char*a, char b[]); void func( char a[], b[]); void func( char a[]; char *b); voidfunc( char *a, *b ); 9. *选择题,结构体设有以下结构体定义及初始化,表达式p->score的结果是________ struct node { int num; float score; } stu[2]={101,91.5,102,92.5},*p=stu; 91.5 101 102 92.5 10.@选择题,文件设有定义FILE *fp; 将整数n写到fp文件的语句是________ fprintf( fp, "%d", n ); fp = fopen( "file.txt", "w" ); fread( &n, sizeof(int), 1, fp ); fclose(fp) 11. *选择题、变量把x,y定义成float类型,并赋同一初值3.14,正确的是________ float x=3.14,y=x; float x,y=3.14; float x,y=2*3.14; float x=y=3.14; 12. *选择题、语句以下________语句只能包含在循环结构中,而不能单独出现 continue goto return if 2011学年春季学期-程序设计基础(C语言)-3/28413. @同112-6选择题、链表设有下述程序段及其注释,函数func的功能是________ struct node /* 链表的节点定义 */ { int num; float score; struct node *next; /* next成员指向下一个结点 */ }; struct node *func(struct node *head) { /* head为链表的头指针*/ struct node *p; p=(struct node *)malloc(sizeof(struct node)); p->next = head; head=p; return head; } 在链表头插入一个结点在链表尾插入一个结点删除链表第一个结点删除链表最后一个结点 14. *选择题、循环语句“while(!x)…”等价于________ whil e(x==0)… while(x!=1)… while(x!=0)… while(x==1)… 15. @选择题,表达式计算若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是________ 4.5 2.5 3.5 5.5 16. @选择题;位运算如图所示,计算机使用16位二进制表示文件的修改日期,其中最低5位二进制表示日期(取值1至31),中间4位二进制表示月份(取值1至12),最高7位二进制表示年份(取值0至127,对应1980年至2107年)。

程序设计基础08-09秋试卷及答案

程序设计基础08-09秋试卷及答案

(081)上海大学2008-2009年秋季学期试卷2008.11课程名:程序设计基础(C) 课程号:00863006 学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。

学号: 姓名: 学院/教师:题号 一 二 三 四 卷面 上机总分 题分 21 36 8 12 77 23 100 得分考生须知:1.试卷和答题纸上的”学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3.不遵守上述要求者考试成绩将为零分。

4.本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分之和。

一、基础题(21分,第1小题1分,其它每小题2分) 1.设有定义char a=’c’; 下列语句片段putchar(a); putchar(‘a’); 将输出什么?2.设有定义 float f1; int d1; 执行语句scanf(“%3d%f”, &d1, &f1);时从键盘输入数据串:987653abbb,那么d1和f1的值将是什么?3.定义 int a[5]={199,211}; 写出语句printf(“%d”, a[2]-a[4] ); 执行后的输出结果。

4.设有以下定义:#define tri(a,b,c) a*a+b*b-c*c请写出语句:printf(“ tri=%d”, tri(3,4,5)!=0); 执行后的输出结果。

5.若有以下的四条变量定义及初始化语句,请选出其中正确的定义项:(A) char *p=“222”; (B) char a=‘abc’;(C) char *p=2000; (D) double df=(double)567;6.假设有定义:char *s=”hello,world”,请写出语句printf(“%s”,s+6);执行后的结果。

大学C#程序设计试卷及答案

大学C#程序设计试卷及答案

诚信应考 考出水平 考出风格2007 — 2008学年第 1 学期期末考试试卷 《 C#程序设计 》 开课单位: ;考试形式:闭卷;考试时间:2008年1月8日; 所需时间:120分钟注意:请将答案写到试题后的答题纸上,写在试题上一律不给分! 一.判断题(本大题共8题,每题2分,共16分。

) 1. C#中类不可以多重继承而接口可以。

2. 应用程序项目中所有Web 窗体页的代码文件运行时都被编译成.EXE 文件。

3. XML 是一种简单、与平台无关并被广泛采用的标准。

4. .NET 编译器将源程序编译出的.EXE 文件是CPU 能直接执行的机器代码。

5. 中,使用验证控件来验证用户输入,要求用户必须输入该项,则适用RequiredFieldV alidator 控件。

6. C#中扩充类继承了基类所有的元素,包括构造函数与析构函数。

7. 中DataSet 是不依赖于数据库的独立数据集,即使数据连接断开,DataSet 依然是可用的。

8. C#中可以使用const 关键字定义一个常量,定义时必须进行初始化。

二.选择题(本大题共10题,每题2分,共20分。

) 1. 下列选项中,( )是引用类型。

A. enum 类型 B. struct 类型 C. string 类型 D. int 类型 2. C#的数据类型有( )A. 值类型和调用类型;B. 值类型和引用类型;C. 引用类型和关系类型;D. 关系类型和调用类型;3. 下列关于构造函数的描述正确的是()A. 构造函数可以声明返回类型。

B. 构造函数不可以用private修饰C. 构造函数必须与类名相同D. 构造函数不能带参数4. 有如下数组定义:int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}};则myArray3[2][2]的值是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(072)上海大学2007-2008年冬季学期试卷2008.3课程名:程序设计基础(C) 课程号:00863006 学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。

学号:姓名:学院/教师:考生须知:1.试卷和答题纸上的”学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3.不遵守上述要求者考试成绩将为零分。

4.本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分之和。

一、基础题(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);的结果。

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*i<111; i++){ }的循环次数。

8.写出printf(“%d”, strlen(“string\097”)); 和sizeof(“string\097”)的结果(strlen( ) 为求字符串长度的库函数,sizeof为求对象存储字节数的运算符)。

9.定义struct num{ int a; float b;} s[ ]={{10, 3.0}, {3, 158.6}}, *p=s;计算s[0].b*s[1].a和(int)(p+1)->b/p->a的值。

10.定义char *pc[]={ “Shanghai”, “Beijing”, “Guangzhou”}; int i;用循环结构写语句分行输出这些字符串。

二、阅读程序(36分,每小题4分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。

(1)程序#include <stdio.h>main(){int a, b;scanf(“%d %d”, &a, &b);a=a+b;b=a-b;a=a-b;printf(“a=%d ,b=%d\n”, a, b);}输入: 111 222输出:?(2)程序#include <stdio.h>main(){char s[80];int i;gets(s);for(i=0;s[i];i++){if(s[i]>='0'&&s[i]<='9'){s[i]='9'-(s[i]-'0');putchar(s[i]);}else putchar(‘*’);}}输入:1a2b3c4d5e6f7g8h输出:?(3)程序#include <stdio.h>void main(){int j=0,num;do{if(j>9) break;num = j*10+3;if(num%3==0)printf(“%d ”,num);j++;}while(1);}输出:?(4)程序#include <stdio.h>main(){int a[3][3]={1,2,3,4,5,6,7,8,9};int i,j;for(i=0,j=2;i<3;i++,j--)printf(“%d#”,a[i][j]);printf(“\n”);for(i=0,j=0;j<3;i++,j++)printf(“%d#”,a[i][j]);printf(“\n”);}输出:?(5)程序#include <stdio.h>char* menu(int i){switch(i){case 0: return “File”;case 1: return “Edit”;case 2: return “View”;case 3: return “Quit”;}}main(){int j=0;for(;j<4;j++)printf(“%s ”,menu(j));}输出:?(6)程序void ex_s(){int av=100;static sv=100;av++; sv=sv+av;printf(“av=%d,sv=%d\n”,av,sv); }main(){int i;for(i=0;i<2;i++)ex_s();}输出:?(7)程序#include <stdio.h>main(){int a[20],*p[4],i;for(i=0;i<20;i++)a[i]=i*10;for(i=0;i<4;i++)p[i]=&a[i*(i+1)];for(i=0;i<4;i++)printf(“%d ”,p[i][i]);}输出:?(8)程序#include “stdio.h”void inv(int *s, int k, int j){int t;if(k<j){t = *(s+k); *(s+k) = *(s+j); *(s+j) = t;inv(s, k+1, j-1);}}main(){int a[6], j;for(j=0;j<6;j++) scanf(“%d”, &a[j]);inv(a,0,5);for(j=0;j<6;j++) printf(“%d ”, a[j]); }输入:152****5678输出:?(9)程序#include “stdio.h”main(){FILE* fp;int a[16];int i,j;fp=fopen(“test.txt”, “r”);for(i=0;i<16;i++)fscanf(fp, “%d”, &a[i]);for(i=0; i<16; i++){switch(a[i]){case 0: putchar('@'); break;case 1: putchar('&'); break;case 2: putchar('*'); break;case 3: putchar('#'); break;default: putchar('?');}if((i+1)%4==0)printf(“\n”);}}假设文件操作总是成功的,且test.txt的内容为0 1 1 01 2 2 12 3 3 23 4 4 3输出:?三、改错程序(8分,每错误点2分)下列程序各有两个错误(两个错误分别是在不同的行上,并只在有注解行号所标注的行上),按原来程序的要求,纠正错误,并将错误所在行号以及错误行完整的正确内容写在答卷纸的对应栏内。

(1)以下程序验证一个定理:任何一个整数n的立方都可以写成n 个连续奇数的和。

main(){int n,i,j,s,k,m;scanf(“%d”, &n);k=n*n*n;for(i=1;;i=i+2){/*1*/ for(s=0,j=i,m=0; m<n; m++,j=j+2)/*2*/ s=s+j; /*计算从i开始的连续的n个奇数之和*//*3*/ if(s==k) continue;}printf(“%d*%d*%d=%d=”,n,n,n,k);/*4*/ for(j=0;j<n;j++)/*下面打印已找到的n个连续奇数*/ {/*5*/ printf(j==0? “%d”: “+%d”,i);/*6*/ i++;}}(2)以下程序从输入的字符串str中删除指定的字符c。

#include “stdio.h”main(){char str[100],c;int i,j;printf(“please input string:”);gets(str);printf(“Please input a character:”);/*1*/ getchar(c);/*2*/ for(i=0,j=0;str[i];i++)/*3*/ if(str[i]!=c)/*4*/ str[j++]=str[i];/*5*/ str[i]='\0';printf(“After %c is deleted:”,c);puts(str);}输入str:How are you?输入c:o输出:After o is deleted: Hw are yu?四、程序填空(12分,每填空2分)阅读下列问题描述和相应的C程序,把应填入其中 (n) 处的内容写在答卷纸的对应栏内。

(1) 以下程序查找满足下述条件的三位数整数:它既是完全平方数,又有两位数字相同,比如100、144等。

main(){int n,k,a,b,c;for(n=10;;n++){k=n*n;if(______(1)_____) break;a=k/100;b= (2) ;c=k%10;if( (3) )printf(“%d=%d*%d\n”,k,n,n);}}(2)以下程序中结点node定义了一个整数的信息,函数IsPrime 的功能是判定一个整数是不是素数,是素数返回1否则返回0;函数create创建一个由10个整数构成的链表;函数del从链表中删除所有数据成员为素数的结点,函数print输出头结点地址为head的链表信息。

#include “stdio.h”#include “stdlib.h”typedef struct node{int n;struct node* next;} NODE;int IsPrime(int n) /*判断整数n是不是素数*/{int i;if(n<2) return 0;for(i=2;i<n;i++)if(n%i==0) return 0;return 1;}NODE* create() /*创建由10个整数构成的链表*/{int i,n;NODE *head=NULL,*p;for(i=0;i<10;i++){p= (4) ;scanf(“%d”,&p->n);p->next=head;head=p;}return head;}NODE* del(NODE* head) /*删除所有素数点*/{NODE *p,*q;if(head==NULL) return NULL;for(p=head,q=p->next;q!=NULL;q=p->next){ /* 删除从第2个结点开始的整数部分是素数的结点*/ if(IsPrime(q->n)){p->next=q->next;free(q);}elsep= (5) ;}if(IsPrime(head->n)) /*处理头结点整数部分是素数的情况*/ {p= (6) ;free(head);head=p;}return head;}void print(NODE* head){NODE* p=head;if(p==NULL) printf(“ nothing”);while(p!=NULL){printf(“%d ”,p->n);p=p->next;}}main(){NODE* head;head=create();printf(“Source list: ”);print(head);printf(“\n”);head=del(head);printf(“After deleted: “);print(head);printf(“\n”);}输入:10 11 12 13 14 15 16 17 18 19输出:Source list: 19 18 17 16 15 14 13 12 11 10After deleted: 18 16 15 14 12 10(072)上海大学2007-2008年冬季学期答卷2008.3课程名:程序设计基础(C) 课程号:00863006 学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。

相关文档
最新文档