【无标题】

本文详细介绍了C语言中的main函数位置、printf函数使用、八进制与十六进制转换、分支结构、循环结构、函数定义与调用、数据类型、数组与指针以及字符串处理等内容,涵盖了C语言初学者需要掌握的基础知识点。
摘要由CSDN通过智能技术生成

1/13-

1.1 Main函数

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

A.必须在最开始

B.必须在系统调用的库函数的后面C.可以任意

D.必须在最后

一个C语言源程序中,main()函数的位置(D)A.必须在其他所有函数之后

B.必须在其他所有函数之前

C.必须在固定的位置上

D.可以在任意位置

下列叙述中正确的是(C)

A.c语言程序将从源程序中第一个函数开始执行

B.可以在程序中由用户指定任意一个函数作为主函数.程序将从此开始执行C.C语言规定必须用main作为主函数名. 程序将从此开始执行. 在此结束D. main可作为用户标识符. 用以命名任意一个函数作为主函数

1.2 printf的使用

下列叙述中输出正确的是( BD)

A. '\t' 的用处是光标移到下一行

B. '\x'是转义字符.可以后面跟十六进制数来输出任意字符'\r' 光标移到行的最右边

D. '\t'的用处是制表符

下面的程序段输出是( D)

int k=11;

printf("k=%d, k=%o,k=%x\n" ,k,k,k);

1/13 .

期末重点.md

2023-12-12

A. k=11,k=12,k=11

C. k=11,k=013;k=0xbD. k=11,k=13,k=b

1.3二进制/八进制/ +进制/十六进制及它们之间的转换表达式0195是一个八进制整数 . (F)

下列关于八进制与十六进制的描述中. 错误的是(B)。A.八进制是一种逢八进一-的机制

B.八进制由0- 8这些符号来描述

C.十六进制是一种逢 十六进. -的机制

D.十六进制由0-9、A-F这些符号来描述

2.分支结构.

if及笑系/逻辑运算符

当x=10时.下列程序输出为(A)if(1<x<3){

printf("1");(213)支结构

if及笑系/逻辑运算符

当x=10时.下列程序输出为(A)if(1<x<3){

printf("1");

}else{

printf("2");

A.1

B.2

若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式是(D)

A.(x%3 != 0) II (y%3 != 0)B.(x%3 != 0) && (y%3 != 0)C.(x%3 == 0) II (y%3 == 0)D.(x%3 == 0) && (y%3 == 0)

判断变量x、y中有且只有1个值为8的表达式为(A)

A.!(x*y)&&x+yB.(x*y&&x+y

2113

期末重点.md

2023-12-12

C.x*y==0D. x==0&&y!=0

表达式!x等价于x != 1。(F)

表达式!!6的值是__ 。 (1)

以下程序输出为(1)if(a=5){

printf("1");}else

printf("0");

设有定义"int a=1, b=2, c=3, d=4, m=2, n=2;”,则执行表达式“(m=a>b)&&(n=c>d)”后, n的值为(2)

switch及switch中的break

若a、b、c1、c2、x、y均是整型变量,以下正确的switch语句是A. switch(a+b);

case 1: y=a+b; break;

case 0:y=a-b; break;}

B. switch(a*a+b*b)

case 3:

case 1: y=a+b; break;case 3: y=b-a, break;}C.switch a

case c1: y=a-b; break;case c2: x=a*b; break;

default: x=a+b; }

D. switch(a-b)

default: y=a*b; break;switch R switchg ÁJbreak

若a、b、c1、C2、x、y均是整型变量, 以下正确的switch语句是A. switch(a+b);

fcase 1: y=a+b; break;

case 0:y=a-b; break;]

B. switch(a*a+b*b)

case 3:

case 1: y=a+b; break;case 3: y=b-a, break;]

C. switch a

f case c1: y=a-b; break;case c2: x=a*b; break;

default: x=a+b; ]

D. switch(a-b)

default: y=a*b; break;case 3: case 4: x=a+b; break;

case 10: case 11: y=a-b; break; 1

3/13

期末重点.md

2023-12-12

下列程序段的输出结果是(A)int main(void)

intx=1,a=0,b= 0;

switch(x)

(

case 0: b++;case 1: a++;

case 2: a++; b++;

printf("a=%d, b=%d)n",a,b);

return 0;

1

A.a=2,b=1B.a=1,b=1c.a=1,b=0D.a=2,b=2

2ETTltt3.循环结构

3.1循环执行次数与循环变量之间的笑系

下面的这个循环的循环次数是( B)

A.语法错误,不能执行B.无限欠

C.10 !

D.1

以下的for 循环欠数是多少次? (D)

for(x=0,y=0;(y!=123)|| (x<4);X++) ;

A.执行3次B.执行4次C.循环次数不定D.是无限循环

while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了。(F)

41 13

期末重点.md

2023-12-12

若变量已正确定义↓以下while循环结束时, i的值为11 (F)

i=1;

while (i <= 10){

printf("%d\n",i);

语句for(i=1,j=10;i<j;++i, j--) ;执行之后i,j的值均为5。(F)

3.2整数不同位数的分解与组合

求整数的位数及各位数字之和

对于给定的正整数N .求它的位数及其各位数字之和。

给定一个十六进制数.输出对应十进制数3.3循环判断质数

通过循环判断质数(有能力写成函数)

4.函数

4.1 C语言中函数的作用、定义、默认类型C语言函数返回类型的默认定义类型是void。(F)

C语言中,通过函数调用只能获得一个返回值。(F)

要通过函数调用来改变主调函数中某个变量的值. 可以把指针作为函数的参数。(T)

只要将多个指针作为函数的参数,函数就一定会返回多个值。 (F)

期末重点.md

2023-12-12

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(B)

A. void

B. intC.floatD. double

4.2形参及实参

函数的形参都属于全局变量。( F)

函数的实参和形参都可以是变量、常量和表达式。(F)

函数的形参都属于全局变量。(F)

若有函数调用: fun(a+b, (x,y), fun(n+k,d,(a,))); 在此函数调用语句中实参的个数是(3个)

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是___。 (D)

A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参

按照C语言的规定.在参数传递过程中.既可以将实参的值传递给形参。也可以将形参的值传递给实参,这种参数传递是双向的。( F4.3全局变量及局部变量

关于全局变量和局部变量的说法,正确的是(A)

A.全局变量必须在函数之外进行定义

B.若全局变量与局部变量同名,则默认为全局变量

C.全局变量的作用域为其所在的整个文件范围

D.全局变量也称外部变量,仅在函数外部有效↓而在函数内部无效

期末重点.md

2023-12-12

在C语言中, 关于变量的作用域.下列描述中错误的是(D)

A.局部变量只在整个函数的运行周期中有效

B.全局变量的作用域为整个程序的运行周期

C.当全局变量与局部变量重名时.局部变量会屏蔽掉全局变量D.全局变量会覆盖掉所有与它重名的局部变量

以下叙述中不正确的是(D)

A.在不同的函数中可以使用相同名字的变量

B.函数中的形式参数是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数内的复合语句中定义的变量在本函数范围内有效

静态局部变量如果没有赋值,其存储单元中将是0。(T)

5.数据类型及表达式5.1字符类型与整数类型的转换

已知字母A的ASCII码为十进制的65。下面程序段的输出是( A)char ch1, ch2;

ch2='A'+'6'-'3';

printf("%d,%c\n" ,ch1,ch2);

A.67,D

B.B,C

D.不确定的值

从键盘输入一串字符,统计出其中的英文大写字母个数、英文小写字母个数、数字字符个数以及其他字符个数并输出,请填空完成相应功能。

输入输出样例如下:

输入样例:

ABCDefg78^&*输出样例1 :

713 .

期末重点.md

2023-12-128/13

#include <stdio.h>

int main(void)

{int n1_ _ch=0,n2_ ch=0, num=0 , other=0;//n1_ _ch和n2_ ch分别表示英文大写和小写字母字符个数,num表示数字字符个数, other表示其他字符个数

char ch;

//从键盘输入一个字符ch=getchar()

while(ch!='\n')

{if(_ .

ch>='A'8&ch<='Z'

n1_ ch+t;

else if(

ch>=' a' &&Ch<='z'

n2 ch++;

ch>='0' &&ch<='9'

else if

lumtt;

else other++;

//从键盘输入一个字符ch-getchar()

printf("%d1,%d, ,%d, %d\n" ,n1 _ch,n2_ ch, num, other);

return 0;

5.2 C语言的数据类型

C的double类型数据可以精确表示任何实数。(F)

表达式0195是一个八进制整数。(F)

5.3运算符、及其优先性、结合性表达式~(~2<<1)的值是_

表达式(z=0, (x=2)1|(z=1),z) 的值是____。 (1)


6.1数组的初始化及定义(省略长度)

对于一维数组,例如: int arr[3];则arr[3]表示数组的第3个元素。(F)

char s1[80],s2[80];s1=s2;这样赋值 是正确的。(F)

static int b[4][3] = { {1,2,3},{0}, {4,5} };元素b[3][2]=_(8)

static int b[ ][3] = { {2,3}, {0}, {5}, {0},{5} };元素b[3][2]=___ (0)

6.2字符串

9113

期末重点.md

2023-12-12

如果strcmp(s1,s2)返回的结果为0,表示字符串s1和s2不相同。(F)

若字符数组s1和s2中均已正确存储字符串,则可以使用if(s1>s2) 进行两字符串大小的比较。(F)

char s[80]; s="hello" ;这样赋值是可以的。(F)

strlen(str)的输出结果是(str字 符串的长度)

字符串的输入输出

6.3 - -/二 维数组的输入、输出与使用

指针

数组与指针的失系

数组的基地址是在内存中存储数组的起始位置.数组名本身就是-个地址即指针值,(T)

若有以下说明且0<=i<10.则对数组元素的错误引用是(C)

A.*(a+i)B.a[p-a+i]C.p+i

D. *(&a[i])

字符串及指针数组的笑系


12/13r +color[5]- {"red", "blue", "yellow", "green", "black" };如何凋用green中的第二个e :

(*(color[3]+3))

囘接坊向返算符与取地址返算符

1013

期末重点.md

2023-12-12

如果有定乂:intm,n=5,*p=&m;与m=n等价的語句是(B)。

A.m = *p;B.*p = *&n;C.m = &n;D.m = **p;

下面程序的輸出結果是(C)。

# include <stdio.h>

void fun (int *x, int *y)

printf("%d%d", *x, *y);*x-3;

*y= 4;

int main(void)

int x=1, y-2;

fun(&x,&y);

printf("%d%d", x, y);

return 0;}

A.2134B.1212

C.1234

D.2112

下列珸句定乂xカ指向int奬型変量a的指針·正磅的是()·

A.int a, *x = a;B.int a,*x= &a;c.int *x = &a, a;D.inta,x= a;

下列程序的輸出結果是( B)

int main(void)

int a[10] ={0,1,2,3,4,5,6,7,8, 9},*p= a+3;printf(d", *++p);

1113


13/13m

2023-12-12

return 0;

C.a[4]的地址D.非法

对于下列程序.正确的是(A)void f(int *p)

*p= 5;

int main(void)

int a, *p;

a =10;

P= &a;

f(p);

printf(*%d”,(*p)++);

return 0;

A.5

B.6

C.10

D.11

以下程序的运行结果是(B)

#include <stdio.h>

void sub(int x, int y, int *z)

*z = y-x;int main()

int a,b,c;

sub(10,5, &a);

sub(7, a,&b);

sub(a, b, &c);

printf("%d,%d,%d\n", a,b, c);

return 0;

12/13

期末重点.md

2023-12-12

A.5,2,3

B.-5,-12,-7C.-5,-12,-17D.5,-2,-7

下面程序段的运行结果是(6 6 7)

int i, j, k=5, *p;

i = ++(*p);

j = (*p)++;

printf("%d %d %d",i, j, k) ; /* 输出的数字之间有一个空格*/

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值