写出下列程序运行结果

合集下载

c语言课后答案

c语言课后答案

《C程序设计》课外作业及参考答案说明:(1)章节顺序按照PowerPoint电子教案;(2)教材上的作业注明了章节和题号;(3)所用教材是《C程序设计(第二版)》谭浩强清华大学出版社;第一章C语言概述1.1 简答题:写出C语言的主要特点(教材习题1.1)。

1.2填空题:1.C语言与操作系统并称“栾生兄弟”。

2.C语言俗称为形式。

3.C源程序文件经过处理后产生目标文件,目标文件经处理后生成可执行文件。

1.3 单项选择题1. 以下说法中正确的是。

(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main函数中定义(C)C语言程序总是main函数开始(D)C语言程序中的main函数必须放在程序的开始部分2. 以下正确的C标识符是。

(A)_125 (B)C# (C)C++ (D)A$1.4 多项选择题1. 以下关于C语言的说法中,错误的是。

(A)俗称为“低级语言的高级形式”,因此功能简单(B)不是结构化程序设计语言(C)可能直接访问内存(D)语法限制不严2. 以下标识符属于C语言关键字的有。

(A)integer (B)else (C)include (D)while第二章C语言基本数据类型、变量、常量与表达式2.1简答题1.求下面算术表达式的值。

(教材习题3.9)a)x+a%3*(int)(x+y)%2/4设x=2.5, a=7, y=4.7b)(float)(a+b)/2+(int)x%(int)y设a=2, b=3, x=3.5, y=2.52.写出下面程序的运行结果。

(教材习题3.10)main(){ int i, j, m, n;i=8; j=10; m=++i; n=j++;printf("%d,%d,%d,%d", i, j, m, n);}3.写出下面表达式运算后a的值,设原来a=12。

设a和n已定义为整型变量。

(教材习题3.12)a)a+=a b) a-=2 c) a*=2+3b)d) a/=a+a e) a%=(n%=2), n的值等于5 f) a+=a-=a*=a4.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?2.2 填空题1. 写出下面各逻辑表达式的值。

大学C C++语言程序设计课后习题答案1-8(电子工业出版社 阳小华 马淑萍

大学C C++语言程序设计课后习题答案1-8(电子工业出版社 阳小华 马淑萍

习题答案习题 1(参考答案)1.程序与算法的概念及二者的区别是什么?程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。

算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。

通俗地讲,就是计算机解题的步骤。

算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。

2.简述程序设计语言发展的过程程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。

一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。

3.简述高级程序设计语言中面向过程与面向对象的概念。

“面向过程”是一种以过程为中心的编程思想。

首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。

一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

“面向对象”是一种以事物为中心的编程思想。

面向对象的方法主要是将事物对象化,对象包括属性与行为。

面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。

编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。

4.C语言程序的特点是什么?(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。

(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。

(3)数据类型丰富。

C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。

c语言习题

c语言习题

二.填空题 1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 _1B__,其数值范围为 0~127 ;一个int数据在内存中所占字节数为 2B ,其数值范围为-32768~32767 ;一个long数据在内存中所占字节 数为 4B ,其数值范围为 -2147483648~2147483647 ;一个float 数据在内存中所占字节数为 4B ,其数值范围为 -3.4*1038~-3.4*10-38, 3.4*10-38~3.4*1038 。 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且 第一个字符必须为 字母 。 3.字符常量使用一对 单引号 界定单个字符,而字符串常量 使用一对 双引号 来界定若干个字符的序列。
3.函数体一般包括( 变量定义序列 ) 和( 执行语句序列
二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结 束。 【 √ 】 2.main函数必须写在一个C程序的最前面。 【 × 】 3.一个C程序可以包含若干的函数。【 √ 】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运 行不起任何作用。但是可以增加程序的可读性。【 √ 】 5.C程序的注释只能是一行。【 × 】 6.C程序的注释不能是中文文字信息。【 × 】 8.可以使用Turbo C来编译和连接一个C程序。【 √ 】 9.可以使用Turbo C来运行一个C程序。【√ 】 10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【 √ 】 三.简答题 1. 写出一个C程序的基本结构。 预处理命令序列 void main() { 变量定义序列 执行语句序列 } 2. 简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。 1)编辑源程序,以扩展名.c存盘。

c语言程序的运行结果

c语言程序的运行结果

参考答案: 2 1
例5:写出下列程序的运行结果: #include <stdio.h> main() {int k=4,m=1,p; p=func(k,m); printf(“%d, ”p); p=func(k,m); printf(“%d\n”p); }
参考答案: 8, 17
func (int a,int b) {static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }
输入 4↙
例9:写出下列程序的运行结果: #include <stdio.h> #define SUB(X,Y) (X)*Y main() {int a=3,b=4; printf(“%d\n”,SUB(a++,b++)); }
参考答案: 12
例10:写出下列程序的运行结果: #include <stdio.h> #include <string.h> void fun(char *w,int m) {char s,*p1,*p2; p1=w;p2=w+m-1; while(p1<p2) {s=*p1++;*p1=*p2--;*p2=s;} } main() {char a[]=“ABCDEFG”; fun(a,strlen(a例4:写出下列程序的运行结果: #include <stdio.h> main() {int x=1,y=0,=0,b=0; switch(x) {case 1: switch(y) {case 0: a++;break case 1: b++;break; } case 2: a++;b++;break; printf(“%d %d\n”,a,b); }

写出下列程序的运行结果

写出下列程序的运行结果

写出下列程序的运行结果(1)#include<iostream.h>struct ab{char a[5];float b;};void main(){ab x={"Li",89.6};cout<<x.a<<'\t'<<x.b<<endl;}(2) #include<iostream.h>struct ab{char a ;float b;};void f(ab &y){ y.a='W';y.b=90.5;}void main(){ab x={'L',89.5};f(x);cout<<x.a<<'\t'<<x.b<<endl;}(3)#include<iostream.h>#include<string.h>class A {char *a;public:A(char *s) {a=new char[strlen(s)+1];strcpy(a,s);cout<<a<<endl; }~A() { delete []a;cout<<"Destructor!"<<endl; } };void main(){ A x("Li Ming");A y( "Zhang");}(4) #include<iostream.h>int n=0;class A {int a;public:A(int aa=0) {a=aa; n++;}~A() {n--;cout<<n<<endl;}void show() {cout<<n<<endl;} };void main(){ A a; a.show();{ A x[2];x[1].show();}a.show();}(5) #include <iostream.h>class A{ int a,b;public:A( ){a=b=0;cout<<a<<' '<<b<<endl;}A(int aa,int bb){a=aa;b=bb; cout<<a<<' '<<b<<endl;} };void main(){ A x,y(10,5);}(6 )#include<iostream.h>class BB{ int a,b;public:BB(int i=0,int j=1) { a=i; b=j;}BB operator +(BB c){ BB d;d.a=a + c.a*10; d.b=b+c.b*10;return d;}BB operator -(BB c){ BB d;d.a=a * c.a; d.b=b*c.b;return d;}void show(){cout<<'('<<a<<','<<b<<')'<<endl;}};void main(){ BB x(2,6) , y(5, 5),z;z=x+y; z.show();z=x-y; z.show();}(7) #include<iostream.h>class EX{ intx,y;public:EX(int i=0,int j=1) { x=i; y=j;}EX operator * (EX z){ EX d;d.x=x *z.x; d.y=y*z.y;return d;}EX operator /(EX c){ EX d;d.x=x-c.x; d.y=y-c.y;return d;}void show(){cout<<'('<<a<<','<<b<<')'<<endl;}};void main(){ EX a(30,10) , b(2,5),c;c=a*b;c.show();c=a/b;c.show();}(8)#include <iostream.h>class Point{int x,y;public:Point(){x=1;y=1;}~Point(){cout<<"Point "<<x<<','<<y<<" is deleted."<<endl; } };void main(){Point a;}(9)#include <iostream.h>#include <conio.h>int count=0;class Point{ int x,y;public:Point(){ x=1; y=1;count++;}~Point(){count--;}};void display(){cout <<"There are "<<count<<"points. "<<endl; }void main(){ Point a;display();{ Point b[5]; display();}display();}(10)#include <iostream.h>class EX1{ int a,b;public:EX1 ( ){a=b=1; cout<<a<<' '<<b<<endl;}EX1 (int aa,int bb=100){a=aa;b=bb; cout<<a<<' '<<b<<endl;} };void main(){EX1 x,y(10,2);EX1z(200); }(11) #include <iostream.h>#include <conio.h>class Csample{ int i;public:Csample(){ cout <<"constructor 1 " <<endl; i=0; }Csample(int val){ cout <<"Constructor 2 "<<endl;i=val;}void Display(){cout<<"i="<<i<<endl;}~Csample(){cout<<"Destructor"<<endl; }};void main(){Csample a,b(10);a.Display();b.Display();}(12) #include<iostream.h>class Csample{private:int i;static int k;public:Csample( );void Display( );};int Csample::k=0;Csample::Csample( ){i=0;k++;}void Csample::Display( ){cout<<"i="<<i<<",k="<<k<<endl;}void main( ){Csample a,b;a.Display( );b.Display( );}(13) #include<iostream.h>#include<string.h>struct A{char c [20] ; float f; };void f(A &t){strcpy( t.c, ”MALIANG”);t.f=70.5;}void main(){ A z={“LIMING”,77.5};f(z);cout<<z.c<<'\t'<<z.f<<endl;}(14)。

C语言习题知识5

C语言习题知识5

void main()
{
int x;
scanf("%d",&x);
if(x--<5) printf("%d\n",x);
else printf("%d\n",x++);
} 程序运行后,如果从键盘上输入 5,则输出结果是( )
A) 3
B) 4
C) 5
D) 6
(12)若执行以下程序时从键盘上输入 9,则输出结果是( )
scanf("%f,%f",&a,&b);
if (a>b)
{
t=a;
a=b;
b=t;
}
printf("%5.2f,%5.2f",a,b);
}
运行后输入-3.5,4.8,正确的输出结果是( )
A) -4.80 , -3.50
B) -3.50 , 4.80
C) 4.8, -3.5
D) 4.80, -3.50
A) 11
B) 10
C) 9
D) 8
#include <stdio.h>
void main()
{
int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
} (13)若 a、b、c1、c2、x、y、均是整型变量,正确的 switch 语句是( )
printf("%5.2f\n",z);
}
(14)如果 int x=10,执行下面程序后,变量 x 的结果为 13 。

C语言指针练习题解析

C语言指针练习题解析

一、知识点1.掌握指针、地址、指针类型、空指针(NULL)等概念;2.掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算、指针变量比较运算和指针表达式;3.掌握指针与数组、函数、字符串等的联系;4.掌握动态空间操作(new,delete);5.掌握引用参数的使用。

二、例题分析与解答例题1:若有以下定义,则说法错误的是( )。

int a=100,*p=&a ;A.声明变量p,其中*表示p是一个指针变量B.变量p经初始化,获得变量a的地址C.变量p只可以指向一个整形变量D.变量p的值为100答案:D分析:有指针变量定义可知A、C说法是正确的,故不能选。

在语句中&p=a,表示指针变量取得变量a地址,B说法也正确,也不能选择。

D中不能说变量p的值为100,应该*p的值为100,所以选择D。

例题2:若有以下定义,则赋值正确的是( )。

int a ,b , *p;float c, *q;A.p=&c B.q=p C.p=NULL D.q=new int答案:C分析:指针变量使用规定,不同类型的指针变量不能赋值,也不能取得普通变量地址,故A、B不正确,不能选择。

因为q是float类型指针变量,不能申请int 类型地址,D不正确,也不能选择。

因为任何类型的指针变量都能取得NULL指针,所以C正确。

例题3:如果x是整型变量,则合法的形式是( )。

A.&(x+5) B.*x C.&*x D.*&x答案:D分析:因为C++语言表达式没有地址,A不正确。

C++语言普通变量不能用*运算,因此B和C也不正确。

&x 表示变量x的地址,*&x是x 地址的值,所以D正确。

例题4:若要建立如下关系,错误的语句组是( )。

span style='mso-ignore:vglayout; ;z-index:1;left:0px;margin-left:144px;margin-top:1px;width:256px;height:38px'A. B. C. D.int *p=&x, x; int x, p=&x; int *p, x=10; int *p, x;*p=10; *p=10; *p=&x; p=&x ; x=10;答案:A分析:在变量类型说明语句中 *表示变量是指针变量,在其他语句中,*称为指针运算,用于访问指针所指向的对象的值,&称为取地址运算,用来得到一个对象的地址。

C++语言基础教程习题参考解答

C++语言基础教程习题参考解答

清华大学出版社出版普通高等院校计算机专业(本科)实用教程系列之一《C++语言基础教程》全部练习题参考解答第一章 C++语言概述1.2 填空题1.#2. ; { }3. 空格制表回车换行4. 系统用户5. 程序6. 函数头函数体7. main8. 函数原型9. 原型10. 复合语句11. .h .cpp12. 严重错误警告错误13. void14. void15. int 016. n17. 下一行18. 空白符1.3 写出下列程序运行结果,此题又作为上机实验题1. x+y=11,x*y=302. cube(3)=27cube(5)=125cube(8)=5123. averageValue:3averageValue:44. 请输入三个整数:10 5 9 (假定输入的三个整数为10,5,9)最大值: 10最小值: 5第二章数据类型和表达式2.2 填空题1. 4,1,1,4,82. short, int, long4. 46, 123, 985. 107, 10, 92, 42 1026. 157. 符号常量,整数,int8. 3.4E2, 5.27E69. int, int, double, double, float10. x, 1511. 6, 6012. 26, 2513. 4, 114. 256, 2215. x, x16. 0, 117. 2018. 519. 9, 21620. 0, 1921. (1+x)*sin(48*3.14159/180), a*pow(x,b)*exp(x+1)2.3 指出下列各表达式值的类型1. int2. double3. float4. long int5. int6. int7. int8. int9. double 10. double 11. double 12. int13. int 14. double 15. char 16. int17. bool 18. int 19. short 20. bool21. unsigned int 22. double 23. int 24. char25. int 26. double 27. double 28. double29. double 30. int 31. int 32. double33. double 34. double 35. bool 36. bool37. bool 38. bool 39. bool 40. bool2.4 已知a=20, x=4.7, r=’a’, 试求出下列每个表达式的值(各表达式互不影响)。

写出程序运行结果和编程题03格式

写出程序运行结果和编程题03格式

写出程序运行结果1、下面程序的运行结果是:________void swap1(int c[]){ int t;t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){ int t;t=c0;c0=c1;c1=t;}main( ){ int a[2]={2,4},b[2]={3,5};swap1(a); swap2(b[0],b[1]);printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]); }2、下面程序的运行结果是:_____________main(){int a=2,ifor(i=0;i<3;i++)printf("%4d",ff(a));}ff(int a){int b=0;static int c=3;b++;c++;return(a+b+c);}3、下面程序的运行结果是:________main(){int i,j,k=10;for(i=0;i<2;i++){k++;{int k=0;for(j=0;j<=3;j++){if(j%2)continue;k++;}}k++;}printf("k=%d\n",k);}4、下面程序的运行结果:_________。

main(){int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(-*p1)/(*p2)+7;printf("a=%d,",a);printf("b=%d\n",b);}5、以下程序运行结果:________。

funa(int a){int b=0;static int c=0;a=c++,b++;return (a);main(){int a=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf("%d\n",k);}6、下面程序的运行结果:_____________struct stu{int num;char name[10];int age;}void fun(struct stu *p){printf("%s\n",(*p).name);}main(){struct stu students[3]={{2010,"zhang",20},{2011,"wang",19},{2012,"zhao",18};fun(students+2);}7、下面程序的运行结果是:_________。

XX医学院本科各专业《Python》第五章习题与答案-2020年精品

XX医学院本科各专业《Python》第五章习题与答案-2020年精品

XX医学院本科各专业《Python》第五章习题与答案一、选择题1.Python中定义函数的关键字是(A)A.defB.defineC.functionD.defunc2. 下列不是使用函数的优点的是(D)A.减少代码重复 B.使程序更加模块化C.使程序便于阅读 D.为了展现智力优势3.关于函数参数传递中,形参与实参的描述错误的是( D)。

A.python实行按值传递参数。

值传递指调用函数时将常量或变量的值(实参)传递给函数的参数(形参)B.实参与形参存储在各自的内存空间中,是两个不相关的独立变量C.在参数内部改变形参的值,实参的值一般是不会改变的D.实参与形参的名字必须相同4. 关于Python的lambda函数,以下选项中描述错误的是(B )mbda函数将函数名作为函数结果返回B.f = lambda x,y:x+y 执行后,f的类型为数字类型mbda用于定义简单的、能够在一行内表示的函数D.可以使用lambda函数定义列表的排序原则:以下选项不是函数作用的是(A5.)A.提高代码执行速度B.增强代码可读性C.降低编程复杂度D.复用代码以下关于函数说法错误的是(D)6.:A.函数可以看做是一段具有名字的子程序B.函数通过函数名来调用C.函数是一段具有特定功能的、可重用的语句组D.对函数的使用必须了解其内部实现原理7. 以下关于函数调用描述正确的是:(A)A.自定义函数调用前必须定义B.函数在调用前不需要定义,拿来即用就好C.Python内置函数调用前需要引用相应的库D.函数和调用只能发生在同一个文件中8. 关于return语句,以下选项描述正确的是:(D)A.函数中最多只有一个return语句B.函数必须有一个return语句C.return只能返回一个值D.函数可以没有return语句9.下面说法正确的是:(B)def f(a,b):a = 4return a + bdef main():m = 5n = 6print(f(m,n),m + n)main()A.m、n为形式参数B.程序的输出结果为10 11C.a、b为实际参数D.以上说法均不正确10.以下关于Python函数说法错误的是:(B)def func(a,b):c = a ** 2 + bb = areturn ca = 10b = 100c = func(a,b) + aA.该函数名称为funcB.执行该函数后,变量c的值为200C.执行该函数后,变量a的值为10D.执行该函数后,变量b的值为10011.max()函数的作用是(C)A.求两个数的最大值B.求三个数的最大值C.返回若干数的最大值D.返回若干数的最小值()12. 哪个选项对于函数的定义是错误的?CA.def vfunc(a,*b):B.def vfunc(a,b=2):C.def vfunc(*a,b):D.def vfunc(a,b):13.下列说法错误的是(D)A.在函数内部直接修改形参的值并不影响外部实参的值。

C语言程序设计(第2-3章)习题答案(魏为民)

C语言程序设计(第2-3章)习题答案(魏为民)

习题2参考答案一、基础题1.若二维数组a有m列,则在a[i][j]前的元素个数为:A)j*m+i B)i*m+jC)i*m+j-1 D)i*m+j+1B2.在C语言中(以16位PC机为例),五种基本数据类型存储空间长度的排列顺序是:A) char<int<long int<=float<doubleB) char=int<long int<=float<doubleC) char<int<long int=float=doubleD) char=int=long int<=float<doubleA3.在C语言的变量类型说明中,int,char,float等类型的长度是:A) 固定的B) 由用户自己定义的C) 任意的D) 与机器字长有关的D4. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是:A) int型B)float型C) double型D)不确定C5.C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种C6.设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的值是:A) 4 B) 3 C) 2 D) 1D7.以下程序的输出结果是:main(){ int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,13D8.若有代数式(3ae)/(bc),则下面不正确的C语言表达式是:A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3C9.已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!y)的值是:A) 0 B) 语法错C) 1 D) "假"C10.下面程序的输出结果是:main(){ int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,3B11.已知字母A的ASCII码为十进制的65,下面程序的输出是:main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值A12.下面程序的输出的是main(){ int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值C二、程序设计题1.从键盘上输入一个小写字母,编程输出其对应的大写字母以及它们的十进制ASCII码。

电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d ",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d ",n);}printf("\n");}7. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5);}8. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,s;for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue;printf("%d ",i);s+=i;}printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。

专接本计算机C语言程序设计模拟试题及答案(一)

专接本计算机C语言程序设计模拟试题及答案(一)

专接本计算机 C 语言程序设计模拟试题及答案(二)
一、单项选择题(每小题 2 分,共 20 分)
1. 在说明语句:int *f();中,标识符 f 代表的是( )
A)一个用于指向整型数据的指针变量 B) 一个用于指向一维数组的行指针
C) 一个用于指向函数的指针变量 D) 一个返回值为指针型的函数名
2. 下列程序的输出结果是( )
C) p=(int*)malloc(4*2); D) p=(int*)calloc(2,sizeof(int));
2. 设有 int x=11; 则表达式(x++ * 1/3) 的值是( )
A) 3 B) 4 C) 11 D) 12
3. 下列程序执行后的输出结果是(小数点后只写一位)( )
#include <stdio.h>
}
2.输入正整数 m 和 n,如果 m+n 是质数,输出“Yes”,否则,输出“No”。要求定义并调用函数 myfun(x)来判断 x 是否为质数,在下面空出的位置完成程序,不能定义
新的变量,可不用已定义的某些变量。
#include<stdio.h>
#include<math.h>
void main() { int m,n; scanf("%d%d",&m,&n); if(myfun(m+n)) printf("Yes") else printf("No"); } int f(int x) {int k; for(k=2;k<x;k++) if(x%k==0) return 0; return 1; }
#include<stdio.h>

3套 《C语言程序设计》试卷+参考答案

3套 《C语言程序设计》试卷+参考答案

一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。

(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。

(B)所有的函数都不能嵌套定义,但可以相互调用。

(C)函数的实参应与其对应的形式参数类型一致。

(D)函数可以不加函数返回值类型标识符。

8.一个C程序的执行是。

(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。

微机原理与接口技术试卷及答案4套

微机原理与接口技术试卷及答案4套

微机原理及接口技术 A 卷一、填空题 (共计 20 分每一个空 2 分 )1、已知 [X]补=01100011B,求 X=( ) (结果用十进制表示)[Y]补=11111001B,求 Y=( ) (结果用十进制表示)2、8088CPU 的地址总线为多少条( );直接寻址的内存空间为多少( )。

3、已知 DS=2000H,内存(20220H)=FFH, (20221H)=22H指令 INC WORD PTR [0200H]执行的结果是: (20220H ) = (20221H) =4、8086 外部中断有( )和( ),当 CPU 内的中断标志 IF=“0”状态时,外部中断线同时为“ 1”状态时, CPU 响应哪个中断请求信号( )。

5、 CPU 及外设数据传送的控制方式有无条件传送方式、 ( ) 、( )和 DMA 直接存储器传送方式。

二、简答题 (共计25 分每小题 5 分 )1、什么是 I/O 接口? I/O 接口的主要功能有哪些?(答出 3 点即可)。

2、请叙述 INTR 中断过程(答出 5 点)。

3、有一 2764EPROM 芯片有 13 条地址总线,请计算芯片的地址范围(起始地址为 12000H)请写出末地址4、定时器 8253 计数器 0 输入时钟 1.19MHz,;输出频率 500Hz,并设定为二进制计数,问计数初值为多少?计数器 1 产生连续的对称方波,输入时钟为 2MHz 的时钟频率,计数初值为 4000,并设定为 BCD 计数,问输出的连续对称的周期是多少毫秒?5、中断向量地址表的作用是什么?已知中断类型码分别为 0EH 和 0FH,它们的中断服务程序的入口地址在中断向量地址表的地址是什么? (注意:写成××××H:××××H 格式)三、分析程序写出结果 (共计 15 分 )1、 (3 分)TABLE DB 30H , 31H , 32H ,33H , 34HENTRY DB 3MOV BX , OFFSET TABLEADD BX,ENTRYMOV AL,[BX] ; 问程序执行后 AL=2、 (6 分)已知 DS=3000H , SS=4000H , BX=1200H , BP=1000H(31200H)=01H , (31201H)=02H , (41200H)=03H , (41201H)=04H 程序段如下:MOV AX, 1200H ;该指令的寻址方式:ADD AX, [1200H] ;ADD AX, [BX] ; 请写出程序段执行后的结果 AX=3、 (6 分)下列程序段求 FLD 开始的八个数据的平均值,结果在 RES 中。

C语言第四章顺序结构复习题

C语言第四章顺序结构复习题

顺序结构程序设计复习题一.选择题1.已有定义:int a,b; float x,y;,以下正确的赋值语句是:()a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;2. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111c) y=1111 d) y= 1111y=001111 y=+01111 y=+01111 y=11113. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710*b) *y= 456**y=710 * *y=456 **y=0000710* *y=0000456*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*4. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.667000* b) *3.667000** 3.67* *3.667 ** 4* *4.000000*c) *3.667* d) *3.667000**3.667000* *3.67**3.667000* *4.000000*5. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);6. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;7. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}8. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;9. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值10. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;11. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1c) 2.0 d) 212. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,413. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 314. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.015. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-116.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1617.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2218.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:int x,y;,执行以下语句后的输出结果是__%d,%3__.x=11/3; y=5; printf(“%%d,%%%d\n”,x,y);2. 已有定义:int y;,执行以下语句后的输出结果是_26,032,0x1a_____.y=26; printf(“%d,%#o,%#x”,y,y,y);3. 执行以下语句后的输出结果是__7/8=0%1___.printf(“7/8=%d”,7/8); printf(“%%%d”,7%2);4. 以下程序的运行结果是___4.900000,4____.main(){ float a;int b;b=a=24.5/5;printf(“%f,%d”,a,b);}5. 以下程序的运行结果是___4.000000,4____.main(){ float a;int b;a=b=24.5/5;printf(“%f,%d”,a,b);}6. 以下程序的运行结果是a=374ㄩㄩ**a=fca=0374**a=0xfc#include <stdio.h>main(){ int a=252;printf(“a=%-5o**a=%x\n”,a,a);printf(“a=%#o**a=%#x\n”,a,a);}7. 若有定义:int t1; double t2;,执行下列语句后,t1的值是__1__。

C语言程序设计模拟试卷及答案(3)

C语言程序设计模拟试卷及答案(3)

自考C语言程序设计模拟试卷及答案(3)一、单项选择题1B 2B 3D 4C 5D 6C 7A8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21CB 1. 设int x=1,y=1;表达式(!x++ || y-—)的值是____B_____A.0 B。

1 C。

2 D.-1C 2.main(B){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n",n);}此程序的输出结果是______C________。

A。

30 B。

24 C. 60 D. 48D 3.若有如下定义,则_____D_____是对数组元素的正确的引用。

int a[10], *p ;p=a ; p=a ; p=a ; p=a ;A。

*&a[10] B. a[11] C. *(p+10) D. *pC 4。

设整型变量n的值为2,执行语句“n+=n—=n*n;”后,n的值是__________A. 0 B。

4 C。

— 4 D。

2D 5.以下不能正确定义二维数组的语句是___________A 。

int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};C。

int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};C D 6. 程序段的功能是将变量 u 、s中的最大值赋给变量t 。

A。

if(u>s) t=u;t=s; B。

t=u; if(t ) t=s;C. if(u>s) t=s;else t=u; D 。

t=s; if(u ) t=u;A 7.下列程序段的输出结果是。

void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf(“#”);elseprintf(“*"); }}A。

(完整版)C++练习题及答案

(完整版)C++练习题及答案

C++练习题(一)1.C++的合法注释是()。

A./*This is a C program/* B.// This is a C programC.“This is a C program”D.//This is a C program//2.下面标识符中正确的是()。

A._abc B.3ab C.int D.+ab3.分析下列该程序,输入数据格式为:2,5(回车),指出其中的三个错误。

main(){ int sum=0;int a,b;cout<<"input a,b:";cin>>a>>b;sum=a+b;cout<<sum<<endl;}(1)没有使用编译预处理命令:#include。

iostream是系统定义的一个头文件(h-head),设置了C++的I/O环境。

cin、cout为基本输入、输出设备,定义在iostream.h头文件中。

(2)没有main()函数的返回类型,系统提示警告。

一般main函数返回整型(3)输入数据时没有使用空格分隔。

输入运算符“>>”要求输入的多个数据用空格分隔。

4.下列标识符中,()是合法的。

A.goto B.Student C.123 D.kld5.C++语言中语句的结束符是()。

A.,B.;C.。

D.、6.给出下列程序的运行结果。

#include <iostream>using namespace std;int main(){int a(2),b(3),c(4);cout<<"c1="<<c<<endl;c=a+b;cout<<"c2="<<c<<endl;}7.已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a<b”值为()。

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

写出下列程序运行结果:
理解PRINT
A=5:B=3
PRINT A,B,A+B
END
X=9:Y=7
PRINT "X=";X,"Y=";Y
PRINT "X+Y=";X;"+";Y;"=";X+Y END
A=4:B=7
PRINT "C=";A+B*2-A/2
END
理解变量(包括字符串变量)
X=6:Y=0
PRINT X-2,
X=X+7
PRINT “Y=”;X+2
PRINT Y
END
M=12:N=6
X=M/N:Y=M+N
PRINT X,Y
X=X+N:Y=M+X
PRINT X,Y
END
A=7:B=4
A=A+B:B=A-B:A=A-B
PRINT “A=”;A,”B=”;B
END A$=”123”:B$=”321”
C$=A$+B$
PRINT A$;”+”;B$;”=”;C$
END
理解INPUT
INPUT X,Y
C=X*Y
PRINT “C=”;C
END
? 4, 8
INPUT “A,B=”;A,B
D=A+A+B+B
PRINT D
END
A,B=? 2,3
绘图语句
SCREEN 12
LINE (100,100)-(400,300),2,B LINE (100,100)-(400,300),2 END
SCREEN 12
LINE (100,100)-(400,100) LINE –(100,300)
LINE –(100,100)
END
SCREEN 12
CIRCLE (200,200),100
LINE (200,100)-(200,300) LINE (200,200),(300,200)
END
简单函数
A=12.34: B=-5.34: C=0
D=A*A: E=B*B
PRINT ABS(A),ABS(B),ABS(C)
PRINT FIX(A),FIX(B),FIX(C)
PRINT SQR(D),SQR(E)
END
A=3.14: B=A^2: C=-A
D=FIX(A):E=ABS(C):F=SQR(B)
PRINT ABS(D),E,F
END
子字符串函数
A$=”123456789”
L$=LEFT$(A$,4)+MID$(A$,3,3)+RIGHT$(A$,2) PRINT L$
END
A$=”I am a student.”
B$=”I like sing.”
C$=”I often use computer.”
D$=LEFT$(A$,2)+MID$(B$,3,5)+RIGHT$(C$,9) PRINT “D$=”;D$
END
读数置数语句
READ A,B,C
PRINT A,B+C
DATA 3,2,5
END
READ X,Y
PRINT “X=”;X,”Y=”;Y
READ X
PRINT X,Y DATA 3,2,5
END
M=0 : READ A : M=M+A READ B : M=M+B
PRINT M
DATA 21,34,26
END
理解循环语句
FOR I=1 TO 10 STEP 3
PRINT “I=”;I,”I^2=”;I*I NEXT I
END
M=0
FOR A=2 TO 10 STEP 3
M=M+A
NEXT A
PRINT “M=”;M, “P=”;M/3 END
双重循环
FOR A=1 TO 3
FOR B=4 TO 5
PRINT A,B
NEXT B
NEXT A
END
FOR X=6 TO 10 STEP 2
FOR Y=5 TO 3 STEP –2
PRINT X-Y
NEXT Y
NEXT X
掌握IF选择结构语句
INPUT X
IF X>=10 THEN Y=0.5*X ELSE Y=0.4*X PRINT “X=”;X, “Y=”;Y
END
第一次运行:
?12
第二次运行:
?8
A=5: B=6
INPUT C
IF C=A+B THEN
PRINT “RIGHT!”
ELSE
PRINT “WRONG!”
END IF
第一次运行:
?12
第二次运行:
?11
INPUT X
IF X<0 THEN X=-X
PRINT “X=”; X
END
? –12
READ X
FOR I=1 TO 5
READ H
IF H>X THEN X=H
NEXT I
PRINT “MAX=”; X
DATA 2,4,3,2,1,3
FOR I=1 TO 5
READ X, Y IF X>=70 AND Y>=70 THEN PRINT X,Y NEXT I
DATA 78,98,77,66,55,77,78,78,90,90 END
N=0
FOR I=1 TO 5
READ A,B
IF A>B THEN N=N+1
NEXT I
PRINT “N=”; N
DATA 78,98,77,66,55,77,78,78,95,90
子程序:
SUB FM
PRINT “WHO ARE YOU?”
END SUB
SUB ZCX1
PRINT “I am a good boy.”
END SUB
SUB ZCX2
PRINT “I am a good girl.”
END SUB
主程序:
CLS
CALL FM
CALL ZCX1
CALL ZCX2
END
此题的子程序与上一题一样:
主程序:
INPUT N
IF N=1 THEN CALL ZCX1
IF N=2 THEN CALL ZCX2
END
? 1
答案:
理解PRINT
5 3 8
X=9 Y=7
X+Y=9+7=16
C=16
理解变量(包括字符串变量)4 Y=15
2 18
8 20
A=4 B=7
123+321=123321
理解INPUT
C=32
10
绘图语句
简单函数12.34 5.34 0
12 -5 0 12.34 5.34
3 3.1
4 3.14
123434589
I like computer.
读数置数语句
3 7
X=3 Y=2
5 2
55
I=1 Y^2=1
I=4 Y^2=16
I=7 Y^2=49
I=10 Y^2=100
M=15 P=5
双重循环
1 4
1 5
2 4
2 5
3 4
3 5
1
3
3
5
5
7
掌握IF选择结构语句第一次运行:
X=12 Y=6
第二次运行:
X=8 Y=3.2
第一次运行:WRONG!
第二次运行:RIGHT!
X=12
MAX=4
78 98
78 78
90 90
N=2
WHO ARE YOU?
I am a good boy.
I am a good girl.
I am a good boy.。

相关文档
最新文档