C语言初阶测评

简介: C语言初阶测评

选择一

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

上面k运行的结果是

因为k*=是一个赋值操作符

它的优先级比较低 所以要先算i+j

所以说k的值是90

选择二

假定 x 和 y 为 double 型,则执行 x=2; y=x+3/2; 后y的值为()

A 3.500000

B 3

C 2.000000

D 3.000000

这里要注意的是3/2因为是两个整数相除

所以说得到的值是1

所以说最终的值会是3.000000

选择三

若有定义语句:int year=1009,*p=&year;以下不能使变量 year 中的值增至 1010 的语句是()

A *p+=1;

B (*p)++;

C ++(*p)

D *p++

首先A 显然可以

B显然可以

C显然可以

D中 两个单目操作符进行运算 按照先右后左的顺序使用

首先是解引用p的值 然后将指针p的位置加加

总结: 主要是操作符的先后顺序这一块的知识比较薄弱

编程题一

这里提供一个求最小公倍数的另一种解法

思路分析

对于两个整数m n

它们的最小公倍数k肯定有

k / m ==i

k / n == j

那么我们就假设这个i的值为1

则有k=im

如果此时的k模上n刚好等于0 那么这个k就是最小公倍数

那么此时的最大公因数即为 (m*n)/k

这道题的主要是一个技巧问题

记住这个求最大公倍数数的技巧就可以

编程题二

倒置字符串 将一句话的单词进行倒置,标点不倒置。比如 I like Beijing. ---- Beijing. like I

题目分析

对于这道题目我们可以首先逆序整个字符串 然后再通过空格和‘\0’对于其中的每个单词进行逆序

目录
相关文章
|
6月前
|
C语言
C语言初阶⑧(结构体)知识点和笔试题
C语言初阶⑧(结构体)知识点和笔试题
58 0
|
5月前
|
C语言
C语言初阶:如何判断是否为素数并且输出
C语言初阶:如何判断是否为素数并且输出
42 0
|
4月前
|
编译器 C语言
【C语言初阶】指针篇—下
【C语言初阶】指针篇—下
|
4月前
|
存储 C语言
【C语言初阶】指针篇—上
【C语言初阶】指针篇—上
|
5月前
|
C语言
【初始C语言8】详细讲解初阶结构体的知识
【初始C语言8】详细讲解初阶结构体的知识
|
6月前
|
程序员 编译器 测试技术
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
45 1
|
6月前
|
算法 编译器 C语言
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(下)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
41 0
|
6月前
|
编译器 C语言 C++
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(上)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
31 0
|
6月前
|
存储 编译器 C语言
C语言初阶⑦(指针初阶)知识点+笔试题(下)
C语言初阶⑦(指针初阶)知识点+笔试题
44 0
|
24天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
31 3