c初阶检测题(上)

简介: c初阶检测题(上)

选择题

1.局部变量的作用域是:(D)

A.main函数内部

B.整个程序

C.main函数之前

D.局部变量所在的局部范围

2.字符串的结束标志是:(A)

作业内容

A.是’0’

B.是EOF

C. 是’\0’

D.是空格

3.下面那个不是转义字符?(C)

A.‘\n’ //‘\n’ 转义字符,代表换行

B.‘\060’ //‘\060’ 转义字符,060八进制数据,十进制为48,表示ASCII码为48的’0’

C.‘\q’ //‘\q’ 什么都不是

D.‘\b’ //‘\b’ 转义字符,表示退格

4.下面代码的结果是:( C)

#include <stdio.h>
#include <string.h>
int main()
{
    char arr[] = {'b', 'i', 't'};
    printf("%d\n", strlen(arr));
  return 0;
}

A.3

B.4

C.随机值 strlen函数是以’\0’为停止标识符,在arr数组中没有碰到,自然向后随机读取至’\0’

D.5

5.下面代码输出的结果是:( B )

#include <stdio.h>
int num = 10;
int main()
{
    int num = 1;
    printf("num = %d\n", num);
  return 0; 
}

A. 程序有问题,不能编译

B.输出1

C.输出10

D.输出0

本题主要考察变量的访问规则,C语言中:

  1. 不允许在同一个作用域中定义多个相同名称的变量
  2. 允许在不同的作用域中定义多个相同名称的变量
  3. 不同作用域中定义的变量,在访问时采用就近原则。

6.下面程序的结果是:( A)

#include <stdio.h>
#include <string.h>
int main()
{
    printf("%d\n", strlen("c:\test\121"));
    return 0;
}

A.7

B.8

C.9

D.10

c:\test\121,来逐步分析c是1个,:2个,\t3个,est6个,\121(八进制数字)7个。

7.关于C语言关键字说法正确的是:( B )

A.关键字可以自己创建

B.关键字不能自己创建

C.关键字可以做变量名

D.typedef不是关键字

8.用在switch语言中的关键字不包含哪个?(A )

A.continue

B.break

C.default

D.case

9.关于数组描述错误的是:(B)

A.数组是一组相同类型元素的集合

B.数组的下标是从1开始的

C.数组的下标是从0开始

D.数组如果初始化,可以不指定数组的大小

10.C语言中下面哪个数组的创建错误的:( B)

A.int arr[10] = {0}

B.int n = 10; int arr[n] ={0} // 对c语言来讲,数组的大小必须是常量

C.int arr[] = {1,2,3,4,5,6,7,8,9,0}

D.char ch[10] = “hello bit”

11.下面哪个不是关键字:( C)

A.int

B.struct

C.define // 定义标识符

D.continue

12.下列程序执行后,输出的结果为(B)

#include <stdio.h>
int cnt=0;
int fib(int n){
  cnt++;
  if(n==0)
    return 1;
  else if(n==1)
    return 2;
  else
    return fib(n-1)+fib(n-2);
}
void main()
{
  fib(8);
  printf("%d",cnt);
}

A. 41

B. 67

C. 109

D. 177

这道题很明显就是问这个fib函数一共被调用了多少次,来具体分析一下就可以了。

把数一下有多少个数字就知道答案是多少了,很明显答案是67。

13.在上下文和头文件均正常情况下,以下程序的输出结果是()

int x = 1;
do{
 printf("%2d\n",x++);
}while(x--);

A. 1

B. 无任何输出

C. 2

D. 陷入死循环

这个很简单先使用那么打印的1,该语句过后x变为2,先判断while条件为2,后使用变为1,之后再次先使用打印的为1,该语句过后为2,之后判断条件又为2,判断后变为1,所以这段代码是在死循环的打印“01”。

14.下面的代码段中,执行之后 i 和 j 的值是什么(C)

int i=1;
int j;
j=i++;

A. 1,1

B. 1,2

C. 2,1

D. 2,2

这里i的值先使用赋给j,所以j为1,这条语句执行完i变为2,所以很明显答案是2,1。

15.以下程序的k最终值是(A)

int i = 10;
int j = 20;
int k = 3;
k *= i + j;

A. 90

B. 50

C. 70

D. 30

最后一条语句的意思可以理解为最后的k=k*(i+j),所以k=90

目录
相关文章
|
存储 编译器 C语言
c初阶检测题(下)
c初阶检测题(下)
118 0
|
存储 小程序 数据库
核酸检测小程序实战教程
核酸检测小程序实战教程
核酸检测小程序实战教程
|
机器学习/深度学习 算法 固态存储
零基础入门:对象检测及其算法指南
本文将向您介绍对象检测及各种算法,如:Fast R-CNN算法,YOLO算法,SSD算法等。我们将从零基础入手,一直到对象检测最先进的算法,并了解每种算法的具体方法和显著特征。
2910 0
|
机器学习/深度学习 人工智能 编解码
关键点检测从入门到进阶
关键点检测,也被称作关键点定位或关键点对齐(keypoint alignment),在不同的任务中名字可能略有差异。比如,在人脸关键点定位中会被称作facemark alignment,在人体关键点检测中称作pose alignment。
|
8月前
Calender类有关检测习题
Calender类有关检测习题
|
9月前
|
算法
疲劳检测-闭眼检测(详细代码教程)
疲劳检测-闭眼检测(详细代码教程)
|
程序员 开发者
如何识别真正的程序员
1,激情 我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。
759 0
|
机器学习/深度学习 JSON 数据可视化
图像(目标)检测入门理论课程(下)
图像(目标)检测入门理论课程
|
机器学习/深度学习 自然语言处理 自动驾驶
图像(目标)检测入门理论课程(上)
图像(目标)检测入门理论课程

热门文章

最新文章