计算机二级

有以下程序 include main() { char a=4; printf("%d/n,a=a有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。A.40B.16C.8D.4

题目
有以下程序 include main() { char a=4; printf("%d/n,a=a

有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。

A.40

B.16

C.8

D.4

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: include point ( char * p) {p + = 3; }main( ) char b[4] = {'a','b','c

有以下程序: #include <stdio.h>point ( char * p) { p + = 3; }main( ) char b[4] = {'a','b','c','d'} , *p=b; point(p); printf( "% c \n" , * p);

A.a

B.b

C.c

D.d


正确答案:A
解析:C函数的参数传递方式采用按值传递,不能通过调用函数改变形参指针本身的值,只能改变指针所指变量的值。调用point函数时,将实参指针p的值(b数组的首地址)传给了形参指针P,P+=3运算使形参指针指向字符d,但并不能改变main函数中p的值,所以本题正确答案应该是选项A)。

第2题:

下列4个程序中,完全正确的是()。A.include main(); (/*programming*/ printf("programm

下列4个程序中,完全正确的是( )。

A.#include<stdio.h> main(); (/*programming*/ printf("programming!\n");}

B.# include<stdio.h> main() {/*/programming/*/ printf("programming!\n");}

C.#include<stdio.h> main() {/*/programming*/*/ printf("programming!\n");)

D.include<stdio.h> main() {/*programming*/ printf("programming!\n");}


正确答案:B

第3题:

以下四个程序中,完全正确的是( )。A.includeB.include main(); main() {/*pr

以下四个程序中,完全正确的是( )。

A.#include<stdio.h>

B.#include<stdio.h> main(); main() {/*programming*/ {/*/programming/*/ printf("programming!\n");} printf("programming!\n");}

C.#include<stdio.h>

D.include<stdio.h> main() main() {/*/*programming*/*/ {/*programming*/ printf("programming!\n");} printf("programming!\n");}


正确答案:B
解析:选项A中的main()后面不能直接用分号。选项C中的注释符使用不正确,编译器会把从第一个“/*到第一个*/”之间的当作注释,最后一个“*/”会被作为程序代码去编译。选项D中的include前要加上#表示是预定义语句。

第4题:

有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

A.2

B.3

C.4

D.5


正确答案:A
解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。

第5题:

以下4个程序中,完全正确的是A.include main(); {/*programming*/ printf("programming

以下4个程序中,完全正确的是

A.#include<stdio.h> main(); {/*programming*/ printf("programming!\n");}

B.#include<stdio.h> main() {/*/programming/*/ printf("programming!\n");}

C.#include<stdio.h> main() {/*/*programming*/*/ printf("programming!\n")}

D.include<stdio.h> main() {/*programming*/ printf("programming!\n");}


正确答案:B
解析: 选项A)main();的分号是错误的,不能有分号;选项C)的注释语句多了两个*号;选项D)include前面没有#。

第6题:

有以下程序 include void fun(char **p) { ++p; printf("%s\n",*p);

有以下程序 #include <stdio.h> void fun(char **p) { ++p; printf("%s\n",*p); } main() { char *a[]={"Moming","Afternoon","Evening","Night"}; fun(a); } 程序的运行结果是

A.Afternoon

B.fternoon

C.Morning

D.orning


正确答案:A
解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和—般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针(即字符型二级指针),所以数组名a可以用作函数fun()的实参。

第7题:

以下4个程序中,完全正确的是()。A.include main(); {/* programming */ printf("progr

以下4个程序中,完全正确的是( )。

A.#include <stdio.h> main(); {/* programming */ printf("programming!\n");}

B.#include <stdio.h> main() {/*/ programming /*/ printf("programming!\n");}

C.#include <stdio.h> main() {/*/* programming */*/ printf("programming!\n");}

D.#include <stdio.h> main() {/* programming */ printf("programming!\n");}


正确答案:B
解析:选项A在定义main()函数时,函数头后面多了一个分号,故选项A不正确;C语言中的注释是不能嵌套的,故选项C不正确:选项D在使用预编译指令#include时漏掉了#号,所以也是错误的。故应该选择B。

第8题:

有以下程序:includevoid fun(char**p){++P;printf("%s\n",*p);}main()char*a[]={"Morn

有以下程序: #include<stdio.h> void fun(char**p) { ++P;printf("%s\n",*p);} main() char*a[]={"Morning","Afternoon","Evening","Night"}; fun(A); } 程序的运行结果是( )。

A.Afternoon

B.fternoon

C.Morning

D.oring


正确答案:A

第9题:

以下四个程序中,完全正确的是______。A.include main(); {/*programming*

以下四个程序中,完全正确的是______。

A.#include <stdio.h> main(); {/*programming*/ printf("programming!\n");}

B.#inc lude<stdio.h> main() {/*/programming/*/ printf("programming!\n");}

C.#include <stdio.h> main() {/*programming*/ printf("programming!\n");}

D.include<stdio.h> main() {/*/*programming*/*/ printf("programming!\n");}


正确答案:C
解析:C程序中注释用“/*”和“*/”括起来,它可以出现在程序中任何合适的地方。选项A中“main();”是—个函数声明语句,下面的大括号及其内容作为—个语句块,应放在程序的大括号中,故选取项A错误;选项B中的注释语句不正确,因为程序在编译时认别到两次“/*”作为注释的开始,但为识别到“*/”作为注释的结束,故选项B错误;选项 D的“include”前缺少“#”,故选项D错误。

第10题:

以下四个程序中,完全正确的是()

A.#include <stdio.h> main(); {/*/ programming /*/ printf("programming!n");}

B.#include <stdio.h> main() {/* programming */ printf("programming!n"); }

C.#include <stdio.h> main() {/*/* programming */*/ printf("programming!n"); }

D.include <stdio.h> main() {/* programming */ printf("programming!n"); }


B 在选项A中,main()函数后面的分号是错误的,C语言在函数名后而不能有分号。在C语言中注释内容必须放在”/’和”+/”之间,”/”和”*/”必须成对出现,按语法规定在注释之间不可以再嵌套”/∥’和”+/”。在选项C的程序段中注释语句之间有嵌套;所以选项C不正确。C语言用#inc1ude命令行来实现文件包含的功能。#inc1ude命令行的形式为:#inc1ude”文件名”,所以存选项D中inc1ude前面少了一个#符号,因而选项D不正确。