`
cppblogs
  • 浏览: 3176 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

二级C试题

    博客分类:
  • C
阅读更多

有以下程序段:
main(){int a=5,*b,**c;c=&b;b=&a;…}
程序在执行了c=&b;b=&a;语句后,表达式**c的值是__C_。
A)变量a的地址        B)变量b中的值       
C)变量a中的值        D)变量b的地址
二级指针c的内存单元里放的是一级指针b的地址,而b里面又放的是变量a的地址。
*c就等价于指针变量b,**c就等价于*b,而*b就是变量a,所以**c的值就是变量a的值!

main() {int a[5]={2,4,6,8,10},*p,**k; p=a;k=&p;printf("%d“,*(p++));
printf("%d\n“,**k);
}
p=a就是指针p指向a的首地址。a的首地址就是&a[0],a[0]='2'
所以printf("%d",*(p++));输出是2。执行完后p自加1。
之后p就指向了a[1]了,也就是4了。
k是指向指针的指针。可以这样理解
k->p;p->a[1];那么*k就是p的值了,p的值就是&a[1](因为p执行a[1]),
那么**k就是*(p),也就是打印出4了

 

若有定义语句:int k[2][3], *pk[3]; 则以下语句中正确的是( )
A. pk=k   B. pk[0]=&k[1][2]   C. pk-=k[0]   D. pk[1]=k
正确答案:B
答案 B
解析 : *pk[3] 表示的是一个共有 3 个元素的一维指针数组 。 pk[0]=&k=[1][2] 表示把二维数组中下标为k[1][2]的值赋予 pk[0], 也就是 pk[0] 指向 k[1][2] 这个元素。

其他选项错误分析:

pk[1]是指向int的指针,而k不是int的指针或地址. 所以pk[1]=k;不正确

作为数组名的k,它可以视为它的第一个元素的地址,即 &k[0]。遗憾的是,k[0]并不是int型,所以&k[0](即k)不能被赋给pk[1]. 而k[1][2]是int型,所以pk[0]=&k[1][2]是正确的。

k[0]不是int型,而是3个int构成的一维数组!!!

注意:k的第一个元素是k[0],不是k[0][0]


C语言规定,在一个C程序中,MAIN()函数的位置
A必须在系统调用的库函数之后 B必须在程序的开始 C必须在程序的最后 D可以在任意位置
放在前后都可以
函数的使用分为声明和定义
1.如果函数在主函数后面定义,则要在调用前声明。
2.如果函数在主函数之前定义,则调用前不用再此声明,直接用就可以。
注:函数的定义指的是有函数体,即指定了函数的功能,函数的声明是不用写出函数体的
例如:int max(int int);它是声明
int max(int a,int b);它是定义
{
   a>b?a:b;
}

C语言,什么是函数首部?
函数首部由:返回类型,函数名,函数参数组成


若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是()
A *(*w+3)        B  *(w+1)[4]  C   *(*w+1)   D  *(&w[0][0]+1)
答案是:B  *(w+1)[4]

A *(*w+3)        
    这个表示w[0][3];

B  *(w+1)[4]  
    正确的写法(*w+1)[4],表示w[1][4];

C   *(*w+1) 
    这个表示w[0][1];

 D  *(&w[0][0]+1)

    这个表示w[0][1];



C语言规定,在一个源程序中,main函数的位置( )。

  a. 必须在最开始  
  b. 必须在系统调用的库函数的后面  
  c. 可以任意  
  d. 必须在最后

#include <stdio.h>

void main ()
{
    int i;
    i=(int)sqrt(4);
    printf("%d\n",i);
}
#include<math.h>


使用三种基本结构构成的程序只能解决简单问题?
 基本上所有程序都是由这三种基本结构 顺序 分支 循环组成的,不管问题的简单或难,都是可以解决的


以下叙述中错误的是
(A)C语句必须以分号结束
(B)复合语句在语法上被看做一条语句
(C)空语句出现在任何位置上都不会影响程序运行
(D)赋值表达式末尾加分号就构成赋值语句
C。
因为语句一定是分号结尾的,空语句的位置也会影响程序。

如:for(;;)和for(;;;)






C语言算法必须要有输入和输出吗?

以下说法正确的是( )
A)用c语言实现的算法必须要有输入和输出操作
B)用c语言实现的算法可以没有输出但是必须要用输入
C)用c语言实现的算法可以没有输入但是必须要用输出
D)用c语言实现的算法可以既没有输入也没有输出
C语言算法可以有零个或多个输入,至少1个或多个输出,这是官方说法,答案选C。
也就是说没有输入没有问题,但是必须要有输出来结束程序。



下列叙述正确的是___(5)____。
(A)程序设计就是编制程序             (B)程序的测试必须由程序员自己去完成
(C)程序经调试改错后还应进行再测试   (D) 程序经调试改错后不必进行再测试
C

下列选项中不属于结构化程序设计原则的是()A可封装B自顶向下 C模块化 D逐步求精
答案为A,可封装
分析:
结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。

    1.自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

    2.逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化。

    3.模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。

    4.限制使用goto语句

      结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并证实了:

    (1)GOTO语句确实有害,应当尽量避免;

    (2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高。

    (3)争论的焦点不应该放在是否取消GOTO语句上,而应该放在用什么样的程序结构上。其中最关键的是,应在以提高程序清晰性为目标的结构化方法中限制使用GOTO语句。

下述标识符中,()是合法的用户标识符。 A: A#C B: getch C: void D: ab* ()是非法的C语言主义字符 A: ’\b’ B: ’\0xf’ C: ’\037’ D: ’\”
第一个空填(B),A和D的答案中含有不恰当的字符#和*。C选项的void是关键字。
getch虽然是库函数,但不是关键字,做用户标识符没有问题。

第二个空选择(B),‘\b'表示退格,'\037’表示单元分隔符,‘\''表示单引号
'\0xf'不对,如果是'\f'则是正确的转义字符。

分享到:
评论

相关推荐

    历年计算机二级C语言试题

    计算机二级C语言试题是针对全国计算机等级考试中的二级C语言科目的一个重要学习资源。这个压缩包文件包含了历年的考试题目,对于备考者来说是极为宝贵的复习材料。C语言是一种广泛应用的编程语言,它以其高效、灵活...

    二级c语言试题

    根据提供的信息,我们可以总结出以下关于“二级C语言试题”的知识点: ### 一、二级C语言考试概述 二级C语言考试是中国计算机等级考试的一部分,主要针对具备一定编程基础的考生,旨在测试他们对C语言的基本语法、...

    2023年全国计算机二级C语言试题与答案-20221212191736.pdf

    "2023年全国计算机二级C语言试题与答案" 本资源是2023年全国计算机二级C语言试题与答案的PDF文件,涵盖了C语言的基本概念、语法、函数、变量、数据类型、运算符、控制结构、数组、指针、结构体、文件操作等方面的...

    全国计算机二级C语言试题与答案.pdf

    ### 全国计算机二级C语言试题与答案解析 #### 一、选择题解析 ##### 2.1 C语言的特点 **正确答案:** C - **选项解析:** - **A**: "C语言比其他语言高级"。这种表述不准确。编程语言的“高级”与否并不是绝对的...

    2012年3月计算机二级C语言试题和答案

    【2012年3月计算机二级C语言试题与答案详解】 C语言,作为一门基础且广泛应用的编程语言,是全国计算机等级考试二级的重要考察对象。2012年3月的计算机二级C语言试题,旨在检验考生对于C语言的基本语法、数据类型、...

    2008年计算机等级考试二级C语言试题及答案

    2008年计算机等级考试二级C语言试题及答案是针对全国计算机等级考试二级C语言科目的备考资料,旨在帮助考生在考试前进行有效的复习和模拟训练。这份资料包含了多套模拟试题和相应的答案,对于考生来说,是提升编程...

    计算机二级C语言试题及答案.docx

    "计算机二级C语言试题及答案" 本资源是关于计算机二级C语言考试题的总结,涵盖了C语言的基本概念、语法结构、数据类型、运算符、控制结构、函数、数组、指针等方面的知识点。下面是对该资源中包含的知识点的详细...

    c语言\二级c试题—2011

    【标题】:“C语言\二级C试题—2011” C语言,作为一种基础的编程语言,被广泛应用于计算机科学教育和实际开发中。中国的计算机等级考试,特别是二级C语言考试,是衡量考生对C语言掌握程度的标准之一。2011年的二级...

    C语言试题,二级C语言试题.doc

    C语言试题,二级C语言试题.doc

    计算机二级C语言试题及答案

    计算机二级C语言试题及答案是针对全国计算机等级考试二级C语言科目的一个重要学习资源,它包含了一系列的试题和经典题型,旨在帮助考生在考前进行充分的复习和准备。这个压缩包文件很可能是为了方便考生系统性地理解...

    2008(秋)江苏省计算机二级C语言试题与答案(笔试)

    江苏省计算机等级考试二级C语言试题涉及了计算机基础知识、C语言编程知识、计算机硬件、操作系统、网络和软件等多个方面的内容。以下是对这些知识点的详细说明: 1. 信息技术:信息技术(Information Technology, ...

    2007年春季江苏省二级c语言试题与答案

    在江苏省计算机等级考试二级C语言试题中,考生需要对C语言的基本概念、语法结构、数据类型、控制结构、函数、指针等方面有深入的理解和应用能力。 1. 基本概念:C语言的基础包括变量、常量、运算符、流程控制语句...

    历年全国计算机二级C语言试题库完整-.pdf

    历年全国计算机二级C语言试题库完整-.pdf

    C语言试题 二级C试题 分类试题库

    该“C语言试题 二级C试题 分类试题库”包含了多种题型,旨在全面检验和提升学习者的C语言能力。以下是这些题型的详细解释: 1. **选择题**:这类题目通常考察对C语言语法、数据类型、运算符、流程控制语句、函数、...

    2008年二级C语言试题和答案

    【C语言概述】 C语言是一种强大的、通用的编程语言...总之,2008年二级C语言试题和答案是一份宝贵的资源,它可以帮助学习者检查自己的C语言水平,找出知识盲点,并通过解析来深化对C语言的理解,进一步提升编程能力。

    计算机二级C语言试题

    计算机二级C语言试题是针对全国计算机等级考试中的一个重要部分,主要测试考生对于C语言编程的基础知识、编程能力和问题解决能力。C语言作为一种强大的程序设计语言,因其高效、灵活和广泛的应用,成为许多初学者和...

    2007秋季江苏省二级c语言试题与答案

    4. 主存储器(RAM):PC机的主存储器是动态随机存取存储器,基本编址单位通常是字节(8个二进位),而非字(32个二进位)。现在的内存容量可以达到几十GB,并且不同PC机的内存条可能不通用。 5. IDE/SATA接口:IDE...

    二级C语言试题及答案

    在这些二级C语言试题中,我们能看到多个编程错误和知识点,包括数组操作、输入输出、循环控制、函数定义以及指针的使用。以下是对每个题目中出现的问题的详细解释: 1. 改错题1: 程序中存在两个错误。第一,for...

Global site tag (gtag.js) - Google Analytics