c语言程序设计模拟试题A
![c语言程序设计模拟试题A](https://img.360docs.net/imgb2/05d5hp0h9pn9d7hwdhtx-21.webp)
![c语言程序设计模拟试题A](https://img.360docs.net/imgb2/05d5hp0h9pn9d7hwdhtx-d2.webp)
c语言程序设计模拟试题A
专业班级学号姓名
一、单选题(15分)
1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;后,c的值为()。
A) 1.4 B) 1 C) 2.0 D) 2
2 、以下程序中,while 循环的次数是()。
#include
void main(void)
{ int i = 0;
while (i<10) {
if (i<1) continue;
if (i==5) break;
i++;
}
}
A) 1 B) 死循环,不能确定次数C) 6 D) 10
3、以下程序的输出结果是()。
#include
void main(void)
{ int a = 0, i;
for (i=1; i<5; i++)v {
switch (i) {
case 0:
case 3: a += 2;
case 1:
case 2: a += 3;
default: a += 5;
}
}
printf(“%d\n”, d);
}
A) 31 B) 13 C) 10 D) 20
4、执行以下程序段后的输出结果是()。
int x = 5;
int m, n;
n = (++x) + (++x);
m = (x--) + (x--);
printf(“%d %d\n”, m, n);
A) 14 10 B) 13 13 C) 14 14 D) 14 12
5、执行以下程序后的输出结果是()
#include
void main(void)
{
int i = 0, j = 0, a = 6;
if ((++i>0)||(++j>0)) a ++;
printf(“i=%d, j=%d, a=%d\n”, i, j, a);
}
A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7
6、执行以下程序后的输出结果是()
#include
void main(void)
{
char a[]=”abc\0abc”;
printf(“%s”, a);
}
A) abc\0abc B) abc\ C) abc\0 D) abc
7、以下程序的输出结果是()
#include
void main(void)
{
int a = 1, b = 2, c = 3;
printf(“%d”, c>b>a);
}
A) 2 B) 1 C) 0 D) 3
8、执行以下程序后,a的值为()。
int *p, a = 10, b=1;
p = &a; a = *p + b;
A) 12 B) 编译出错C) 10 D) 11
9、以下正确的叙述是()。
A)在C语言中,main函数必须位于文件的开头
B) C语言每行中只能写一条语句
C) C语言本身没有输入、输出语句
D)对一个C语言进行编译预处理时,可检查宏定义的语法错误
10、以下各语句或语句组中,正确的操作是()。
A) char s[5]="abcde" B) char *s; gets(s);
C) char *s; s="abcde"; D) char s[5]; scanf("%s", &s);
11、设有以下说明语句,则下面的叙述中不正确的是()。
struct ex {
int x ; float y; char z ;
} example;
A) struct结构体类型的关键字B) example是结构体类型名
C) x,y,z都是结构体成员名D) struct ex是结构体类型
12、对以下程序段,while 循环执行的次数是()。
int k=0
while (k=1) k++;
A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次
13、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[1] 地址的
表达式是()。
A) p+1 B) a+1 C) a++ D) ++p
14、函数调用:strcat(strcpy(str1,str2),str3)的功能是()。
A) 将串str1复制到串str2中后再连接到串str3之后
B) 将串str1连接到串str2之后再复制到串str3之后
C) 将串str2复制到串str1中后再将串str3连接到串str1之后
D) 将串str2连接到串str1之后再将串str1复制到串str3中
15、在下列选项中,不正确的赋值语句是()。
A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;
二、程序填空(26分)
1、求1!+2!+3!+。。。+10!
#include
void main(void)
{
float s = 0, t = 1;
int n;
for (n=1; ; n++) {
;
;
}
printf(“1!+2!+3!+。。。+10!=%f”, s);
}
2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中
最大者。例如:1080其零的个数是2,各位数字中最大者是8。
#include
void main(void)
{
unsigned long num, max, t;
int count;
count=max=0;
scanf("%ld", &num);
do {
t= ;
if(t==0) ++count;
else
if(max num/=10; } while(num); printf("count=%d,max=%ld\n", count, max); } 3、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。 #include void main(void) { int i, j; for(i=0; [13]; i++) { j = i*10+6; if ( ) continue; printf("%d",j); } } 4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。 void exchange(int *x, int *y) { int t; t=*y; *y = ; *x = ; } 三、阅读程序,写出程序的输出结果(24分) 1、#include void main(void) { char *s, *s1 = “here is”, *s2 = “key”; s = s1; while (*s1!=?\0?) s1++; while (*s1++=*s2++); s2 = s; while (*s2!=?\0?) s2++ printf(“%d\n”, s2-s); } 2、#include void main(void) { static int a[] = {1, 3, 5, 7}; int *p[3] = {a+2, a+1, a}; int **q = p; printf(“%d\n”, *(p[0]+1) + **(q+2)); } 3、include void main(void) { int num,c; printf("请输入一个整数:"); scanf("%d",&num); do { c=num%10; printf("%d",c); } while((num/=10)>0); printf("\n"); } 4、include fut(int **s, int p[2][3]) { **s=p[1][1]; } void main(void) { int a[2][3] = {1,3,5,7,9,11}, *p; p = (int *) malloc(sizeof(int)); fut(&p,a); printf("%d\n",*P); } 四、编程(35分) (1)sum=2+5+8+11+14----,输入正整数n,求sum的前n项和。 (2)求1~100间的素数(素数>1,且除了1和自身外,不能被任何其它整数整除。 (3)使用指针数组对输入输入的3个整数序列(每个序列5个整数)进行排序,排序方法不限。 (10)有15个数存放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元 素。若该数不在数组中,则打印出“No found”。 c语言程序设计模拟试题B 专业班级学号姓名 五、单选题(15分) 1、以下程序的输出结果是()。 #include void main(void) { int a = 5, b = 4, c = 6, d; printf(“%d\n”, d=a>b?(a>c?a: c): b); } A) 5 B) 4 C) 6 D) 不确定 2、以下程序的输出结果是()。 void main(void) { int a = 4, b = 5, c = 0, d; d = !a && !b || !c; printf(“%d\n”, d); } A) 1 B) 0 C) 非0的数D) –1 3、以下程序的输出结果是()。 #include int f(void) { static int i = 0; int s =1; s += i; i++; return (s); } void main(void) { int i, a = 0; for (i=0; i<5; i++) a += f() printf(“%d\n”, a); } A) 1 B) 0 C) 非0的数D) –1 4、执行以下程序段后的输出结果是()。 int x = 2, y = 3, z; z = (x++, y++); printf(“%d”, z); A) 3 B) 2 C) 5 D) 4 5、执行以下程序后的输出结果是()。 #include void main(void) { int i = 010, j =10, a = 0x10; printf(“%d, %d, %d\n”, i, j, a); } A) 8, 10, 16 B) 8, 10, 10 C) 10, 10, 10 D) 10, 10, 16 6、以下程序的输出结果是()。 #include void main(void) { int a = 7, float x = 2.5; y = 4.7; printf(“%g”, x+a%3*(int)(x+y)%2/4); } A) 0 B) 2.75 C) 2 D) 2.5 7、下列语句行中,哪些语句能正确进行字符小、串赋值操作()。 A) char st[4][5] B) char s[5]={…A?, …B?, …C?, …D?, ?E?} C) char *s; s = “ABCDE”; D) char *s; scanf(“%s”, s); 8、以下程序的输出结果是()。 #include void main(void) { char a[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, *p = a+5; printf(“%d”, *--p); } A) 非法B) a[4]的地址C) 3 D) 5 9、以下程序的运行结果是()。 #include void main(void) { int a[4][3]={ 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12}; int *p[4], j; for (j=0; j<4; j++) p[j]=a[j]; printf("%2d,%2d,%2d,%2d\n", *p[1], (*p)[1], p[3][2], *(p[3]+1)); } A) 4, 4, 9, 8 B) 程序出错C) 4, 2,12,11 D) 1, 1, 7, 5 10、以下C语言中,对函数不正确的描述是()。 A)当用数组名作形参时,形参数组改变可使实参数组随之改变 B)允许函数递归调用 C)函数形参的作用范围只是局限于所定义的函数内 D)函数说明必须在主调函数之前 11、以下所列的各函数首部中,正确的是()。 A) void play(var :Integer,var b:Integer) B) void play(int a,b) C) void play(int a,int b) D) Sub play(a as integer,b as integer) 12、以下程序执行后sum的值是() void main(void) { int i , sum; for (i=1;i<6;i++) sum+=i; printf("%d\n",sum); } A)15 B)14 C) 不确定D)0 13、以下叙述中不正确的是()。 A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。 B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C) 在C中,外部变量的隐含类别是自动存储类别。 D) 在C中,函数形参可以说明为register变量。 41、在C语言中,合法的字符常量是()。 A) '\084' B) '\x43' C) 'ab' D) "\0" 15、以下函数调用语句中含有的实参个数是()。 func((exp1,exp2),(exp3,exp4,exp5)); A) 1 B) 2 C) 4 D) 5 二、程序填空(26分) 1、定义compare(char *s1, char *s2)函数,以实现比较两个字符串大小的功能。 #include void compare(char *s1, char *s2) { while(*s1&&*s2&& ) { s1++; ; } return ; } void main(void) { printf("%d\n", compare("abCd", "abc"); } 2、函数fun的功能是:使字符串str按逆序存放。 void fun (char str[]) { char m; int i, j; for (i=0, j=strlen(str); i< ; i++, j--) { m = str[i]; str[i] = ; str[j-1] = m; } printf("%s\n",str); } 3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低 于平均分的学生成绩,用输入负数结束输入。请填空。 #include void main( void) { float x[1000],sum=0.0,ave,a; int n=0,i; printf("Enter mark:\n"); scanf("%f",&a); while (a>=0.0&& n<1000) { sum+ ; x[n]= ; n++;scanf("%f",&a); } ave= ; printf("Output:\n"); printf("ave=%f\n",ave); for (i=0;i if ( ) printf ("%f\n",x[I]); } 4、以下fun函数的功能是:累加数组元素中的值.n为数组中元素的个数, 累加的和值放入x 所指的存储单元中。 void fun(int b[ ],int n, int *x) { int k, r=0; for (k=0; k = r; } 六、阅读程序,写出程序的输出结果(24分) 1、#include void main(void) { int x = 1; { int x = 2; { int x = 3; printf(“x= %d\n”, x); } printf(“x= %d\n”, x); } printf(“x= %d\n”, x); } 2、#include void main(void) { static char s[] = “china”, c; int i, j; for (i=0; i<5; i++) for (j=4; j>=1; j--) if (s[j] c = s[j]; s[j] = s[j-1]; s[j-1] = c; } printf(“%d\n”, *(p[0]+1) + **(q+2)); } 3、include void f(int c) { int a=0; static int b=0; a++; b++; printf("%d: a=%d, b=%d\n", c, a, b); } void main(void) { int i; for (i=1; i<=3; i++) f( i ); } 4、#include struct stu { int num; char name[10]; int age; }; void fun(struct stu *p) { printf("%s\n",(*p).name); } void main(void) { struct stu students[3]={ {9801,"Zhang",20}, {9802,"Wang",19}, {9803,"Zhao",18} }; fun(students+2); } 四、编程(35分) (1)输入一个double 类型的数,使该数保留小数点后2位,且对第3位进行四舍五入处理。(2)编写函数strcopy(s, t),将字符串s 复制到字符串t 中。 (3)求2~1000中的所有完数(某数因子和等于其本身的数称为完数。例:28的因子是1,2,4,7,14,且1+2+4+7+14=28,故28是完数。) c语言程序设计模拟试题C 专业班级学号姓名 七、单选题(15分) 1、若变量a 是int 类型,并执行了语句a = …A?+1.6;后,则正确的叙述是()。 A) a的值是字符?C?B) a的值是浮点型C) a的值是字符?A?的ASCII值加1 D) 不允许字符型和浮点型相加 2、执行以下程序段后,变量y的值是()。 int x, y; x = 1; y = (++x*5); A) 5 B) 10 C) 15 D) 20 3、9、执行以下程序段后的输出结果是() int a = 10; printf(“%d ”, ++x); printf(“%d ”, x--) A) 11 10 B) 11 11 C) 10 11 D) 10 10 4、执行以下程序后的输出结果是() #include void main(void) { int x = 10; printf(“%d %d %d\n”,++x, --x, -x++); } A) 11 10 -10 B) 10 10 -10 C) 10 11 -11 D) 11 11 -10 5、下面正确的自定义标识符是() A) a2b3 B) int C) int abc D) 2a3b 6、以下程序的输出结果是() #include void main(void) { int a = 12, n = 5; printf(“%d”, a%2=(n%2)); } A) 01 B) 1 C) 0 D) 0x1 7、若有下列说明和语句:int a[4][5], (*p)[5]; p = a; 则对a数组元素的正确引用是()。 A) p+1 B) *(p+3) C) *(p+1)+3 D) *(*p+2) 8、执行printf("%d\n", strlen("a\n\"\x41"))语句,其输出结果是()。 A) 8 B) 7 C) 6 D) 4 9、若定义a[][2]={1,2,3,4,5,6,7}; 则a数组中行的大小是()。 A) 2 B) 3 C) 4 D) 无确定值 10、若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是 ()。 fseek(fp, 0, SEEK_END) i=ftell(fp); printf("i=%ld\n", i); A) -1 B) fp所指文件的长度,以字节为单位 C) 0 D) 2 11、当调用函数时,实参是一个数组名,则向函数传送的是()。 A) 数组的长度B) 数组的首地址 C) 数组每一个元素的地址D) 数组每个元素中的值 12、若变量c为char类型,则能正确判断出c为小写字母的表达式是()。 A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z') C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z') 13、以下对C语言函数的有关描述中,正确的是()。 A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B) C函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C程序中有调用关系的所有函数必须放在同一个源程序文件中 14、若有以下定义和语句,则则输出结果是() int **pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp); A)10,20 B)10,10 C)20,10 D)20,20 15、设有语句char a='\72'; 则变量a包含的字符个数是()。 A)1 B)2 C)3 D)说明不合法 八、程序填空(26分) 1、以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i])。 #include void main(void) { int a[4][4]={1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4}; int i, j, found=0; for(j=0; j<4; j++){ for(i=0; i<4; i++) if ( ) { found= ; break; } if(found) break; } if(found) printf("不对称\n"); else printf("对称\n"); } 2、下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。 #include #include void main(void) { char a[]="clanguage",t; int i, j, k; k = strlen(a); for (i=0; i<=k-2; i+=2) for (j=i+2; j<=k; ) if ( ) { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf("\n"); } 3、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文 件文件中形成文本文件,并将字符的个数写到文件尾部。 #include void main(void) { FILE *fp; char ch,fname[32];int count=0; printf("Input the filename :");scanf("%s",fname); if ((fp=fopen( ,"w+"))==NULL) { printf("Can't open file:%s \n",fname); exit(0); } printf("Enter data:\n"); while ((ch=getchar())!="#") { fputc(ch,fp); count++; } fprintf( ,"\n%d\n",count); fclose(fp); } 4、以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是 只能被1和本身整除且大于1的自然数。 #include int isprime(int); void main(void) { int i,a[10],*p=a,sum=0; printf("Enter 10 num:\n"); for (i=0;i<10;i + + ) scanf("%d",&a[i]); for (i=0;i<10;i + + ) if (isprime(*(p+ )) == 1) { printf("%d",*(a+i)); sum += *(a+i); } printf("\nThe sum=%d\n",sum); } int isprime(int x) { int i; for (i=2;i<=x/2;i + + ) if (x%i = = 0) return (0); ; } 三、阅读程序,写出程序的输出结果(24分) 1、#include void increment(void); void main(void) { increment(); increment(); increment(); } void increment(void) { static int x = 0; x ++; printf("x = %d\n", x); } 2、#include void main(void) { int array[10] = {1, 2, 4, 5, 6, 0, 0, 0, 0, 0}, i; printf("\n"); for (i=0; i<10; i++) printf("%3d ", array[i]); printf("\n"); for (i=9; i>=2; i--) array[i] = array[i-1]; array[2] = 3; for (i=0; i<10; i++) printf("%3d ", array[i]); printf("\n"); } 3、include void main(void) { static char a[]="ABCDEFGH",b[]="abCDefGh"; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if (*(p1+k)==*(p2+k)) printf("%c",*(p1+k)); printf("\n"); } 4、#include int fun(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; } void main(void) { int a, b, c, d; a=30; b=50; fun(a,b,&c,&d); printf("%d,%d\n", c, d); } 四、编程(35分) (1)通过函数的递归调用计算阶乘。 (2)编写函数strcompare(s1,s2),按照字典顺序比较两个字符串s1和s2,若两串相等返 回0;若串s1>s2,则返回+1;若串s1 222c b a =+ 《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7) 长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535 2.程序填空 (1)以下程序的功能是计算1~50之间能被7整除的整数之和。 #include #include 习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); } B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障 《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。 C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。 3算法描述流程图 4源程序 #include for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。 c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include 《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued 实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果: 项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果: 一、单项选择题(本大题共20题,每题2分,共40分) 1、以下不是C语言的特点的是 A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是 A、ABC B、abc C、a_bc D、ab.c3、一个C语言程序是由。 A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 A、int B、float C、double D、不确定6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果 是。 #include 文档从网络中收集,已重新整理排版.word版本可编辑.欢迎下载支持. 《C语言程序设计》 实验报告 2013~2014学年第二学期 班级 姓名 学号 指导教师 实验一 实验项目名称:C程序的运行环境和运行C程序的方法 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C源程序的特点。 二、预习内容: 教材《C语言程序设计教程》第1章。 三、实验内容: 1. 在Visual C++ 6.0环境下输入并运行下面的程序: #include 2. (1) 改正后的源程序: #include 第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 C语言程序设计模拟试题. 一、填空题. 1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。 3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。 4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6. 5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x 8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 9. C程序是由函数组成的。一个C程序由一个main()函数和若干个子函数构成。函数的构成可分为两部分:函数说明(或函数头) 和函数体。 10.标识符是指程序中的符号常量、变量、函数等对象的名称。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。实型常量有小数形式和指数两种表示方法。 12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。 二、单项选择题) 1.一个C语言的执行是从 A (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的 最后一个函数结束 -前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include { int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); } C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自 动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。C语言程序设计模拟试题1(附答案)
C语言程序设计实验报告参考答案
C语言程序设计试题1
C语言程序设计实验与习题答案
c语言程序设计试题答案
C语言程序设计模拟试题A附答案
C语言程序设计实验报告(数组)
c语言程序设计期末试题B(含答案)
C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题及答案知识分享
C语言程序设计模拟试题2(附答案)
C语言程序设计实验实验指导书及答案
C语言程序设计期末考试试卷
C语言程序设计实验报告(实验1-12)
C语言程序设计试题集及其答案
C语言程序设计模拟试题1
C语言程序设计实验-答案
C语言程序设计的试题及答案