C语言-基本选择题及答案.docx
《C语言-基本选择题及答案.docx》由会员分享,可在线阅读,更多相关《C语言-基本选择题及答案.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机程序设计基础(C语言)单项选择练习题说明:带*号的对非信息学院的同学不作要求。一、基本概念1. c语言程序是由 c构成的。A) 一些可执行语言B)main函数 C)函数D)包含文件中的第一个函数2. ( A )是构成C语言程序的基本单位。A、函数 B、过程 C、子程序 D、子例程3. C语言程序从 C起先执行。A)程序中第一条可执行语句0程序中的main函数函数4. C语言程序从main。函数起先执行,A)程序文件的起先B)0它所调用的函数的前面D)5、以下说法中正确的是(C )0B)程序中第一个函数D)包含文件中的第一个所以这个函数要写在5。程序文件的最终程序文件的任何位置A、C语言程
2、序总是从第一个定义的函数起先执行B、在C语言程序中,要调用的函数必需在main()函数中定义C、C语言程序总是从main ()函数起先执行D、C语言程序中的main()函数必需放在程序的起先部分6 .下列方法中错误的是(D )。A.主函数可以分为两个部分:主函数说明部分和主函数体。B.主函数可以调用任何非主函数的其它函数。C.任何非主函数可以调用其它任何非主函数。D.程序可以从任何非主函数起先执行。7 .下列说法错误的是:(B )A. C程序运行步骤是编辑、编译、连接、执行。B. C语言的变量名必需用小写,常量用大写。C. C语言的三种基本结构是依次、选择、循环。D. C程序确定由函数构成的。
3、8 .下列关于C语言的说法错误的是(B )A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。0 C程序的三种基本结构是依次、选择、循环D) C程序从main函数起先执行 X= -1*X; while (!x)A)是死循环B)循环执行一次C)循环执行二次D)有语法错误12 .循环 “for (i=0, x=l; i=10&x0; i+); ” 的循环执行(A )。A.无限次B.不确定次C. 10次D. 9次13 .执行语句for(j=0; j=3; j+) a=l;后变量j的值是 C.A)0 B) 3C)4 D) 114 .有如下程序 main() inti,sum=2;f
4、or (i=l;i=3;i+=2) sum+=i;printf( dn,sum);该程序的执行结果是A) 6B) 3C)死循环D) 4*15、执行语句 for ( i=0; i+3 ;); ”后,变量i的值为(C )。A、2B、3C、4D、516.设x和y均为int型变量,则执行以下的循环后,y的值为(D )。 for(y=1, x=l;y=0) break;if(x%2=l) x+=5;continue; x-=3;A. 2B. 4C. 6D. 1五数组1 .以下对一维数组a的正确说明是:DA) char a (10);B) int a;C) int k = 5, ak ; D) char
5、a3 = b , c,;2 .以下能对一维数组a进行初始化的语句是:(C )A. int a5 = (0, 1, 2, 3, 4,) B. i nt a =C. int a3 = 0, 1,2 D. int a5 = 10*l3 .在C语言中对一维整型数组的正确定义为DoA) int a(10) ;B) int n=10, an;C)int n;an;D)#define N 10int aN;4、已知:int a10;则对a数组元素的正确引用是(D )。A、a10 B、a3.5 C、a(5) D、a05.执行下面的程序段后,变量k中的值为A)不定值 B) 33C) 30D) 10int k=3
6、, s2; s0=k; k=s0*10;*6.下列说法中错误的是CA构成数组的全部元素的数据类型必需是相同的B用指针法引用数组元素允许数组元素的下标越界C 一维数组元素的下标依次是1、2、3D定义数组时的长度可以是整型常量表达式7 .若有以下数组说明,则数值最大的和最小的元素下标分别是(B )。 int a12 = l, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);A. 1, 12B. 0, 11C. 1, 11D. 0, 128 .若有以下数组说明,则i=10;aai元素数值是(B )。 int a12 = l, 4, 7, 10, 2, 5, 8, 11, 3,
7、 6, 9, 12;A. 10B. 9C. 6D. 59 .假定int类型变量占用两个字节,其有定义:int x10 = 0,2,4);,则数组 x在内存中所占字节数是A)3B)6C) 10D) 2011 .若有说明:inta L31,2, 3, 4, 5, 6, 7:则数组a的第一维的大小 为:(B )A. 2 B. 3 C. 4D.无确定值12 .以下定义语句中,错误的是(D )A) int a = l, 2 ;B) char *a;C) char s10= test ; D) int n=5, an;13 .下面程序段的输出结果是:(C ) int i;int x3 3 = 1,2, 3
8、, 4, 5, 6, 7, 8, 9);for (i=0;iage D) (*p). age*5.有如下定义struct personchar name9; int age;struct person class10 = uTomv , 17, “John”,19, “Susan” , 18, “Adam,16,;依据上述定义,能输出字母A的语句是(B )A) printf( u%cn , class3. name);B) printf( u%cnv , class3. name0);C) printf( u%cn , class3. name1);D) printf( %cnv , clas
9、s2. name3);6.存放100个学生的数据、包括学号、姓名、成果。在如下的定义中,不正确的 是(B ) oA. struct studentint sno;char name20;float score; stu100;B. struct student stu100 int sno;char name20;float score;C. struct int sno;char name20;float score; stu 100;D. struct studentint sno;char name20;float score; ;struct student stu 100;*7.设有
10、定义语句 u struct int x; int y; d=1, 3, 2, 7; ” 则 “printf ( %dn” , d0. y/dO. x*dl. x); ” 输出的是(D )。A. 0B. 1C. 3D. 68 .已知: struct sk int a; float b;data, *p;若有p=&data,则对data中的成员a的正确引用是(CA、 (*p). data, a B、 p-data. a C、 (*p), a D p. data, a9 .设有如下定义: struck sk int a;float b;data;int *p;若要使P指向data中的a域,正确的赋值
11、语句是CA) p=&a;B) p二data.a; C) p=&data.a; D)*p=data.a;10 .设有以下说明语句: typedef struct stu int a;float b; stutype;则下面叙述中错误的是(D )oA、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名A.指针1 .语句int *p;说明白 C。 A)p是指向一维数组的指针 B)p是指向函数的指针,该函数返回一 int型数据 C)p是指向int型数据的指针D)p是函数名,该函数返回一指向int型数据的指针2 .
12、变量的指针,其含义是指该变量的:(B )A.值B.地址 C.名D. 一个标记3 .若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是 (A )A) pb=&x B) pb=x C) 15.已知int a5, *p=a;下面的叙述中正确的是AA) p+1与a+1等价B) pl与*p等价pb=&xD) *pb=*x4、已知:int a, *p=&a;则下列函数调用中错误的是(D )。A、scanf ( %d”,&a) ; B、scanf (,p);C、printf (, a) ; D、printf (, p);5 .对于同类型的指针变量,不行能进行的运算是(C )。A. -B. =
13、C. +D.=6 .对于基类型相同的两个指针变量之间,不能进行的运算是CA) B) =C) +D)-7 .下列不正确的定义是(A )。A. int *p=&i, i;B. int *p, i;C. int i,*p=&i;D. int i,*p;8 .若有说明:int n=2, *p=&n, *q=p,则以下非法的赋值语句是:(D )A) p=qB) *p=*qC) n=*qD) p=n9 . int *p, a=10, b=l; p=&a; a=*p+b;执行该程序段后,a的值为A)编译出错B) 10C) 11D) 1210 .有语句:int 则 是对指针变量p的正确定义和初始化。A) in
14、t p=*a; B) int *p=a; C)int p=&a; D)int *p=&a;11 .若有说明语句“int a5,*p=a;,则对数组元素的正确引用是(C )。A. a pB. p aC. * (p+2)D. p+212 .若指针变量p指向整型数组a10的首地址,即p=a ;则下列数组元素 ai (0iG0)的表示方法中正确的是:(C )A. p+i B. &( a+i) C. *(a+i) D. *(p+i*2)13 .有如下程序int a10 = l, 2, 3, 4, 5, 6, 7, 8, 9, 10, *P=a;则数值为9的表达式是A) *P+9B) *(P+8)C) *
15、P+=9D) P+814 .若有以下定义,则不能表示a数组元素的表达式是(B )。int a10 = l, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a;A. *pB. a10C. *aD. apaC) 21.请读程序,输出结果为:#include(p+l)与 a+1 等价D) pl与 a+等价16 .若有以下说明: int a10 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a; 则数值为4的表达式是(C ) A) *p+4 B) * (p+4) C) * (p+3) D) p+317 .下面程序的输出结果是CA)OB) 1C)2 D)输出错误
16、main() int a =1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(dn:*p+1);)18 .执行语句 char c10二 “ abed , *pc=c;后,*(pc+4)的值是(B ) A) “abed B) 0 C) d D)不确定19 .下列函数的功能是A。void fun(int *pl, int *p2) int p;p=*pl;*pl=*p2;*p2=p;)A)交换*pl和*p2的值 B)语法正确,但无法交换*pl和*p2的值0交换*pl和*p2的地址D)有语法错误*20.有如下程序 main () char s二 “ABCD”,*P; for (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 选择题 答案
限制150内